您的位置:首页 > 其它

Vim命令使用总结

2015-08-20 23:39 302 查看
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命令,今作总结于此,由于笔者的水平有限,出错在所难免,恳请读者拍砖指正,谢谢阅读。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: