vi: Visual Interface
vim:VI iMproved
vim模式
命令模式(默认出入命令模式)
输入模式
末行模式
模式转换
- 命令模式–>输入模式
i:在当前光标所在字符的前面,转为输入模式
a:在当前光标所在字符的后面,转为输入模式
o:在当前光标所在行的下方,转为输入模式I:在当前光标所在行的行首,转为输入模式
A:在当前光标所在行的行尾,转为输入模式
O:在当前光标所在的行的上方,转为输入模式
- 输入模式–>命令模式
键盘Esc即可
- 命令模式–>末行模式
键盘Esc即可
打开的时候快速定位
vim + : 打开文件后就光标处于最后一行
vim +# :打开文件之后光标处于第#行
vim +/PATTERN:打开文件,定位到第一次被PATTERN匹配的行的行首
关闭文件
- 末行模式关闭文件
:q: 退出
:wq:退出并保存 ( :wq <等价> :x)
:q!:不保存退出
:w:保存
:w!:强行保存
- 命令模式关闭文件
ZZ: 连敲两次大写字母Z
移动光标
- 逐字符移动
h: 左
j:下
k:上
l:右
#h:移动#个字符
- 逐单词移动
w: 下一个单词的词首
e:当前或下一个单词的词尾
b:当前或下一个单词的词首
- 逐单词移动
w: 下一个单词的词首
e:当前或下一个单词的词尾
b:当前或上一个单词的词首
- 行内跳转
0: 绝对行首
^:行首的第一个非空白字符
$:绝对行尾
- 行间跳转
#G: 调至第#行
G:最后一行
末行模式下直接给出行号即可
翻屏
Ctrl + f:向下翻一屏
Ctrl + b:向上翻一屏
Ctrl + d:向下翻半屏
Ctrl + u:向上翻半屏
删除单个字符:x和d
x:删除光标所在的字符
#x:删除光标所在处及后处共#个字符
d:d命令与跳转命令结合使用 #dw,#de,#db
dd:删除当前光标所在行
#dd:删除包括当前光标所在行内的下#行
末行模式下:
:start,end + d eg:(:1,3d,表示删除1-3行)
.:表示当前行
$:最后一行
+#:向下的#行
粘贴命令
p:如果删除或复制为整行内容,则粘贴至光标所在行的下面,如果复制或删除内容为非整行,则粘贴至光标所在字符的后面
P:如果删除或复制为整行内容,则粘贴至光标所在行的上面,如果复制或删除内容为非整行,则粘贴至光标所在字符的前面
复制命令
y:用法同d
修改命令:先删除内容,再转换为输入模式
c:用法同d
替换字符命令
r
R:替换模式
撤销编辑操作
u:撤销前一次的编辑操作,连续u命令撤销此前n次操作,一般最多五十次
#u:直接撤销#次编辑操作
*撤销撤销:Ctrl + r
重复上一次命令
. 点
可视化模式
v:按字符选取
V:按矩形选取