vim编辑器用法

vim快捷操作一览(网友制作)

vim-usage.png

vim编辑器操作模式

vim编辑器提供了三种操作模式

vim_three_mode.png

命令行模式(Command)

进入vim编辑器后的默认模式就是命令行模式,在其它两个模式中,按Ecs/Escape键回到命令行模式

文本输入模式(Input)

在命令行模式中,按ioa键进入文本输入模式

末行模式(Last Line)

在命令行模式中,按:键进入末行模式,输入命令完成之后按Enter键触发相应的动作

在vim编辑器中进行移动光标操作

按键 描述(大写的字母,可以用Shift+字母,也可以是大写模式下的字母)
h 或 方向键Backspace 向左移动一个字符
j 或 方向键 向下移动一行
l 或 方向键 向右移动一个字符
k 或 方向键 向上移动一行
wW 移动到当前或者下一个单词的词首
bB 移动到当前或者上一个单词的词首
eE 移动到当前或者下一个单词的词尾
$ 移动到当前行末尾
^ 移动到当前行开头第一个非空格字符
0(数字0) 移动到当前行行首
n + 移动到当前行的第n个字符,从行首开始记数
H 移动到屏幕顶端第一个非空格字符
M 移动到屏幕中间第一个非空格字符
L 移动到屏幕底部第一个非空格字符
Enter(回车键) 移动到下一行行首
G 移动到文件的最后一行
1Ggg 移动到文件的第一行
nG 移动到第n行,先输入数字,再输入G
:n 移动到第n
Ctrl + F 向下滚动一屏
Ctrl + D 向下滚动半屏(down)
Ctrl + B 向上滚动一屏
Ctrl + U 向上滚动半屏(up)
Ctrl + G 显示当前文件缓冲信息(如:文件名、文件数、光标所在行在总行数中所处的百分比位置等)

使用vim编辑器进行文本修改

输入文本命令

按键 描述
a 在光标位置后进行输入文本(append)
A 在当前行末尾进行输入文本(append)
i 在光标位置前进行输入文本(insert)
I 在当前行行首进行输入文本(insert)
o 在光标下新插入一行进行输入文本(open)
O 在光标上新插入一行进行输入文本(open)

删除文本命令

按键 描述
x(小写) 删除光标所在的字符(删除单个字符)
X 删除光标前的字符(删除单个字符)
dw 删除一个单词,不适用中文
dd 删除光标所在的行
D 或者 d$ 删除光标到行末尾的字符(包含光标所在字符)
d0 或者 d^ 删除光标前一个字符到行首的字符(不包含光标所在字符)
dG 删除当前行到文件的最后一行之间的内容
d1G 或者 dgg 删除当前行到文件的第一行之间的内容
:m,nd 删除第m行到第n行的内容(例如: 4,9d,即删除4~9行)

替换文本命令

按键 描述
:r filename 将读取filename文件中的内容插入到当前文件夹光标所在位置(filename可以使用目录+文件名,用Tab键补全,确认后就按Enter
R 覆盖式替换光标所在的字符。先按R,然后输入字符,替换当前光标所在的字符,替换后会移动到下一个字符,按ESC键退出替换模式
S 插入式替换光标所在的字符,按S之后,先会删除当前字符,继续输入字符,进行插入字符操作,而不是像R进行后续字符的替换动作
cc 或者 S 用空白替换当前行的内容(直接删除当前行的内容,使之成为空行)
c$ 或者 C 用空白替换当前行光标到行尾的字符
c^ 或者 c0 用空白替换当前行光标前一个字符到行首的字符(不包含光标所在字符)
~ 光标所在字母进行大小写转换,转换之后移动到下一个字符

回退操作命令

按键 描述
u 回退之前执行的命令,多次操作则执行多次回退操作
U 回退对于当前行所执行的命令,多次操作则执行多次回退操作

重复执行命令

按键 描述
. 重复执行上一个命令
n + 命令 数字 + 命令,重复执行某动作
5dd 删除5行,从当前行开始
3r 按了3r之后,输入一个字符,则从光标处开始的3个字符都会被输入的字符给替换掉
5J 将5行合并成一行,从当前行开始
3x 删除3个字符
5i + 任意或者多个字符 输入5ihellloEsc,将插入5遍hello
3G 移动到第3行
5l(小写的L) 将光标向右移动5个字符,其它方向键类似
5k(小写的K) 将光标向上移动5行,其它方向键类似

使用vim编辑器查找和替换文本

查找命令

按键 描述
/string 从光标位置开始向下
您的赞赏将鼓励我继续分享!
Fork me on GitHub