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 | 向下查找hello 按n 健查找下一个,按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 | 撤销 |
U | U 撤销对整行的操作 |
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
小韩,华为云可以不用bei an 吗?
需要备案的