Vim命令使用总结

原文链接:Vim命令使用总结
发布时间:2015-08-20 23:39:57

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命令,今作总结于此,由于笔者的水平有限,出错在所难免,恳请读者拍砖指正,谢谢阅读。