Vim是从vi发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

三种常用模式

vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc即可进入普通模式。普通模式中按i(插入)或a(附加)键都可以进入插入模式,普通模式中按:进入命令行模式。命令行模式中输入wq回车后保存并退出vim。

文件命令

命令作用
vim hello.txt打开hello.txt
:open hello.txt在vim窗口中打开一个新文件
:split hello.txt在新窗口中打开文件
:bn切换到下一个文件
:bp切换到上一个文件
:e ftp://192.168.1.1/hello.txt打开远程文件

插入命令

命令作用
i在当前位置生前插入
I在当前行首插入
a在当前位置后插入
A在当前行尾插入
o在当前行之后插入一行
O在当前行之前插入一行

光标移动

命令作用
h,j,k,l移动光标h往左,j往下,k往右,l往上
Ctrl+f上一页
Ctrl+b下一页
w移动到下一个单词第一个字母
e移动到下一个单词最后一个字母
b 向后移动一个单词 2b 向后移动2个单词
^移动到行首非空白字符
0,<home>移动到行首
$移动光标到行尾2$移动到下面2行尾
gg移动到文件头
G移动到文件尾
Ctrl + e向下滚动一行
Ctrl + y向上滚动一行
Ctrl + d向下滚动半屏
Ctrl + u向上滚动半屏
Ctrl + f向下滚动一屏
Ctrl + b向上滚动一屏

搜索命令

命令作用
/hello向下查找hellon健查找下一个,按N健查找前一个
?hello反向查找hello按n健查找下一个,按N健查找前一个

替换命令

命令作用
ra将当前字符替换为a,当期字符即光标所在字符。
s/old/new/old替换new,替换当前行的第一个匹配
s/old/new/g用old替换new,替换当前行的所有匹配
%s/old/new/用old替换new,替换所有行的第一个匹配
%s/old/new/g用old替换new,替换整个文件的所有匹配
:10,20 s/^/ /g在第10行知第20行每行前面加四个空格,用于缩进。
ddp交换光标所在行和其下紧邻的一行。

撤销命令

命令作用
u撤销
UU 撤销对整行的操作
Ctrl + r重做(Redo),即撤销的撤销。

删除命令

命令作用
x删除当前字符,3x 删除向后三个字符
X删除当前字符的前一个字符。X=dh
dl删除当前字符, dl=x
dh删除前一个字符
dd删除当前行
dj删除上一行
dk删除下一行
10d删除当前行开始的10行。
D删除当前字符至行尾。D=d$

拷贝和粘贴

命令作用
yy拷贝当前行
nyy拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。
p在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。
shift+p在当前行前粘贴
ddp交换当前行和其下一行
xp交换当前字符和其后一个字符
正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按y即可复制\

剪切命令

正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切

ndd 剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴

退出命令

命令作用
:wq保存并退出 同:x
ZZ保存并退出
:q!强制退出并忽略所有更改
:e!放弃所有修改,并打开原来文件。

窗口命令

命令作用
:split水平方向分割出一个窗口
:vsplit垂直方向分割出一个窗口
:close关闭窗口
Ctrl+W 切换窗口, +h到左边窗口,+j到下方窗口,+k到上方窗口,+l到右边窗口

参考:http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html

文章目录