Vim命令使用总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KentZhang_/article/details/47815229

vim的使用命令非常繁多,要想全部掌握,那是不现实的,也没有必要,只需要掌握常用的命令,便可在工作中使用地得心应手。

注意下面括号中内容为笔者的注释。


一、基本命令(命令模式)
:help command ---命令帮助手册(例如执行:help w 将给出w命令的解释)
:w ---写入文件
:q ---退出vim

:q! ---不保存强制退出vim

shift + zz ---退出vim并保存(这个是在正常模式执行)
:x ---退出vim并且保存文件(同shift + zz)
:X ---给文件加密(执行该命令会让你输入加密密码,然后执行:w 写入命令,文件经加密了,当再次打开此文件时,需要这个密码。那么如何去掉加密设置呢?执行命令:set key= 意思就是设置密码为空,然后再执行:w 写入命令,此时文件便去掉加密设置)

:%!xxd ---将文本转化为16进制数字

:%!xxd -r ----将16进制数字转化为文本


二、光标移动 (正常模式)

$ ---将光标移动到行尾(在正则表达式中,'$'符号可以匹配行尾)
0 ---将光标移动到行首(0是数字零)
^ ---将光标移动到改行的第一个非空格字符(在正则表达式中,'^'符号可以匹配行首)
gg ---将光标移动到文件的开始位置(g == goto)
G  ---将光标移到到文件的结束位置(G == goto)
H  ---将光标移到屏幕上第一行 (H == head)
L  ---将光标移到屏幕上最后一行(L == low)
% ---使光标在花括号的左侧,按下 shift + %,可以使光标跳到与之配对的花括号上,当代码块比较大的时候,这个命令很有用
Ctrl + b  ---向后翻一页(b == backward)
Ctrl + f  ---向前翻一页(f == forward)
w ---光标跳到下个word的开头(w == word)
e ---光标跳到下个word的字尾(e == end) 
b ---光标回到上个word的开头(b == backward)

K ---跳到光标所在关键字的Man手册上


三、文本编辑(正常模式)
dd ---删除一行 (d == delete)
ndd ---向下删除n行,包括光标所在行(n为一个整数)
x ---删除光标后面字符,与退格键功能相反
yy ---复制光标所在行(y == yank)
nyy ---复制n行,包括光标所在行
p ---粘贴(p == put)
np ---粘贴n次
u ---撤销上一次操作(u == undo)
d0 ---删除至行首
d$ ---删除至行尾



四、代码缩进(正常模式)

有时候代码经过别的编辑器修改或者生成,再次用Vim打开发现代码格式混乱,那么Vim可以帮我们完成代码缩进。
在正常模式下,按下 v 进入可视模式,选中要格式的代码,然后按下 = ,便会自动递归缩进代码。那么如何缩进整个
文本呢?vim下是没有Ctrl + a全选这个操作。

解决方法:在正常模式下分别按下 ggvG=  便可全部选中,并递归缩进整个文本的代码,由此可见ggvG相当于ctrl + a ,gg 表示光标跳到文件首,v表示进入可视模式,G表示光标跳到文件尾。



五、查找替换(命令模式)
/pattern ---从光标开始处向文件尾搜索pattern(正常模式,下面3个也是) 
?pattern ---从光标开始处向文件首搜索pattern 
n ---在同一方向重复上一次搜索命令 
N ---在反方向上重复上一次搜索命令 
:s/from/to/g ---将当前行中所有from均用to替代 (命令模式,其中from可以是正则表达式,下同)
:n1,n2s/from/to/g ---将第n1至n2行中所有from均用to替代 
:%s/from/to/g ---将文件中所有from均用to替换 



六、多文件编辑

1.多文件操作
例如: vim file1 file2 file3
此时vim打开了3个文件,file2占满vim窗口,那么各个文件如何切换呢?
:n ---切换到下一个文件
:N ---切换到前一个文件
:rew ---切换到第一个文件

2、分屏操作
vim -on file1 file2 file3 
上下分屏打开3个文件
vim -On file1 file2 file3 
左右分屏打开3个文件
如果vim已经启动,下面命令将使vim再次上下分屏或者左右分屏
:sp file4 file5 (上下分屏,sp == split)
:vsp file6 file7 (左右分屏,vsp == vertical split)
那么各个窗口之间如何切换呢?
Ctrl + ww 后一个(w == window,下同)
Ctrl + wp 前一个
Ctrl + wh 四个方向
Ctrl + wi
Ctrl + wk
Ctrl + wl
如果只想保留光标所在的屏,关掉其他所有可以执行
Ctrl + wo


以上为笔者在工作常用到的vim命令,今作总结于此,由于笔者的水平有限,出错在所难免,恳请读者拍砖指正,谢谢阅读。


猜你喜欢

转载自blog.csdn.net/KentZhang_/article/details/47815229
今日推荐