四种模式介绍
- 正常模式:启动vim默认处于正常模式,其他模式下,按ESC键进入正常模式;
- 插入模式:即写入内容情况下的模式,按i、o、a等键进入插入模式;
- 命令模式:在正常模式中,按下:(冒号)键,会进入命令模式,该模式下执行一些输入并执行一些vim或插件提供的指令;
- 可视化模式:快速选中一块区域,并执行一些操作,比如删除、复制、替换等;
1. 正常模式(normal-mode)
打开Vim都是正常模式。在任何模式下,只要按下 Esc 键就可以返回正常模式
- 翻页
ctrl+b 上一页
ctrl+f 下一页 - 移动光标
G 移动光标到文本最后
gg 移动光标到文本开始
0/^ 移动光标到当前行的行首
$ 移动光标到当前行的行尾
w 移动光标到下一个单词开头
b 移动光标到上一个单词开头
e 移动光标到下一个单词结尾 ge 移动光标到上一个单词结尾 - 删除(相当于剪切,内容保存在剪切板)
dd 删除光标所在行
cc 删除当前并进入插入模式
3dd 删除3行内容(包括当前行)
d0 删除光标所在行前面的字符
d$ 删除光标所在行后面的字符(D同样的效果)
dG 删除光标到文本结尾的内容 d1G/dgg 删至文档首部 x/del 删除光标所在字符
X 删除光标前的一个字符 - 替换
r 替换光标所在处的字符
R 替换光标所到之处的字符,直到按下「ESC」键为止 - 复制
yy 复制光标所在的行
6yy 向下复制6行(包括当前行) - 粘贴
p 粘贴在光标的下一行
P 粘贴在光标的上一行 - 恢复
u 撤销到上一步操作
ctrl+r 恢复到上一步操作
2. 命令模式(Command)
命令模式则多用于操作文本文件(按:即是从正常模式进入命令模式)
- 保存或退出
:wq或:x 保存内容,并退出(加上感叹号是强制,比如:wq!)
:q! 不保存,强制退出
:w 写入到当前文件,但不退出
:w filename 将当前的修改保存到其他文件 - 移动光标
:0 光标移动到文本第一行的行首
:$ 光标移动到文本最后一行的行首 :35光标定位到35行 - 替换
:%s/123/456/g 全局替换123为456
:s/123/456/g 当前行替换 - 查找
/123 向下查找123,按回车查找下一个(n/N切换向上向下查找)
?123 向上查找123 - 显示行号
:set nu 显示行号
:set nu! 取消行号显示(set nonu) - 清空文件内容
:%d 清空当前文本内容 - 防止粘贴错乱
:set paste 粘贴多行内容时,防止错乱
3. 插入模式(insert-mode)
插入模式则用来向文本中添加内容的
i 光标前插入
a 光标后插入
o 当前光标下一行插入
O 当前光标上一行插入
A 行尾插入
S 删除光标所在行,并进入插入模式
4. 可视模式(visual-mode)
可视模式,相当于高亮选取文本后的普通模式。有3种选中的方式 v 按单个字符选中 V 按整行选中 ctrl+v 按单个字符,选中块内容
- 删除选中内容,并进入插入模式(c或者s)
- 快速选中内容,并删除(ctrl+v进入可视化模式,上下键选中内容后,按d删除内容)
- 快速选中汇内容,并复制(ctrl+v进入可视化模式,上下键选中内容后,按y复制内容)
- 多行注释(选中注释的行,按大写字母I,再插入注释符【例如#】,再按esc键就会全部注释了)
- 多行取消注释(ctrl+v选中注释符#,按d完成取消注释)
5. 其他
- 查看vim历史命令(按q:进入,按:q退出)
- 记录模式的使用
A. 记录操作
正常模式下,按q进入记录中,再按任意单个字母,比如qx(x缓存了记录);开始操作修改,esc,按q退出记录模式
B. 使用记录 (光标所在行,按@,再按x)