VIM命令

0 注意事项

  命令要区分大写

1 linux进入VIM模式

  vi filename

2 VI的三种模式

        2.1 输入模式(INSERT MODE): 用来输入文本

        2.2 命令模式(COMMAND MODE):用来输入各种操作命令(处理文本的命令,例如:复制、粘贴等)

        2.3 末行模式 :用于操作软件(例如:保存、退出软件等)

3 VI模式之间的切换

        3.1 命令模式 — >  输入模式

快捷键 功能 备注
i 当前字符前面进入输入模式 insert
I 当前行前面进入输入模式
o 下一行插入,并进入输入模式 open(打开新的一行)
O 上一行插入,并进入输入模式
a 当前字符后面进入输入模式 append(追加)
A 当前行后面进入输入模式

 

        3.2 命令模式 — >  末行模式

快捷键 功能 备注
: 进入末行模式 只能由命令模式进入

        3.3 输入/末行模式 — >  命令模式

快捷键 功能 备注
ESC键 进入命令模式 输入模式和末行模式都是通过该方式进入命令模式

 

        3.4 模式转换图

                 

4 命令模式 

快捷键 功能 备注
h  
j  
k  
l  
dd 剪切一行  
dG 删除光标所在行以后的所有内容(包括光标所在行)  
dnG 从光标所在行删除到第n行  
G 光标定位到最后一行  
nG 光标定位到第n行  
gg 光标定位到第一行  
$ 光标定位到行尾  
0 光标定位到行首  
dw 删除一个单词 以空格或逗号区分单词
d^ 删除光标到行首的所有字符(不包含光标选中的字符) 只针对光标所在行
d$ 删除光标到行尾的所有字符(包含光标选中的字符)
D
r 替换光标选中的字符(输入替换字符后自动进入输入模式)  
R 替换光标选中的字符(一直停留在替换模式,直到点击ESC键)  
x 删除光标选中的字符  
nx 删除光标后面的连续n个字符(包含光标选中的字符)  
yy 复制光标所在行  
nyy 复制光标所在行之后的n行(包含光标所在行)  
p 粘贴到下一行  
P 粘贴到上一行  
np 粘贴n遍  
u 撤销上一次操作  

5 末行模式

快捷键 功能 备注
q! 不保存退出  
wq/x 保存并退出  
w 保存  
%s/src/target/g 将所有的src替换成target %:全篇内容   s:字符串
i.js/src/tarfet/g 将第i行到第j行的所有src替换成target
set number 显示行号  
set nonumber 隐藏行号  
n 将光标定位到第n行  
m,nd 删除第m行到第n行  
r 文件名 将(文件名)指定的文件中的内容导入到正在编辑的文件  
r !命令 将命令的执行结果导入到正在编辑的文件中

例如: r !date 

[将当前时间导入文件]

ab str1 str2 指定别名[系统重启后会失效]

在末行模式指定别名后,在输入模式中输入str1,会自动显示成str2

版权声明:本文为BlueStarWei原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/BlueStarWei/p/9732820.html