http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
ViEmu模拟器网站提供了一份Vim编辑器教程,而且还有键盘配图说明!更有世界各地的热心人将其重新排版翻译成了不同键盘和语言版本,当然也包括中文的!
复制一份网上的快捷键:
移动光标:
h
或左方向键:光标向左移动一个字符
j
或下方向键:光标移到下一行
k
或者上方向键:光标向上移动一行
l
或者右方向键:光标向右移动一个字符
+
: 光标移动到非空格符的下一列
-
: 光标移动到非空格符的上一列
n<space>
: 按下数字再按space,光标向右移动n个字符
0
:移动到这一行的第一个字符处
$
:移动到这一行的最后一个字符处
翻页:
ctrl+f
: 屏幕向前翻动一页
ctrl+b
: 屏幕向后翻动一页
ctrl+d
: 屏幕向前翻动半页
ctrl+u
: 屏幕向后翻动半页
跳跃光标:
H
:将光标移动到屏幕最上方的那一行
M
:将光标移动到屏幕中间的一行
L
:将光标移动到屏幕最后一行
G
:将光标移动到文件的最后一行
nG
:将光标移动到文件的第n行
n<Enter>
:将光标下移n行
查找与替换:
/word
在光标后查找一个名为word的字符串
?word
在光标前查找一个名为word的字符串
:n1,n2s/word1/word2/g
在n1行与n2行之间查找word1这个字符串,并将该字符串替换成word2;
:1,$s/word1/word2/g
从第一行到最后一行之间查找word1这个字符串,并将该字符串替换成word2;
删除、复制与粘贴
x,X
x
为向后删除一个字符,X
为向前删除一个字符
nx
向后删除n个字符
dd
删除光标所在整行
ndd
删除光标所在行的向下n行(包括所在列)
d1G
删除光标所在行到第一行
dG
删除光标所在行到最后一行
yy
复制光标所在行(常用)
nyy
复制光标所在行向下n行(常用)
y1G
复制光标所在行到第一行的数据
yG
复制光标所在行到最后一行的数据
p,P
p
将复制的数据粘贴在光标的下一行,P
为复制的数据粘贴在光标的上一行(常用)
J
将光标所在行与下一行数据合成一行
u
回复前一个动作(常用)
编辑模式
i,I
插入:在光标所处位置输入文字,已存在的字符会向后退(常用)
a,A
添加:由当前光标所处在处的下一个字符开始输入,已存在的字符会向后退(常用)
o,O
插入新的一行,光标所在处的下一行行首开始输入字符(常用)
r,R
替换,r会替换光标所指的那一个字符,R会一直替换光标所指的文字,直到按下Esc为止(常用)
Esc
退出编辑模式,回到一般模式(常用)
命令模式
:w
将编辑的数据写入硬盘文件中(保存)
:w!
若文件属性为只读,强制写入该文件。
:q
退出vi
:q!
若有修改,又不想保存,强制退出
:wq
保存后退出。(常用)
:wq!
强制保存后退出(常用)
:w [filename]
将编辑数据保存为另一个文件(另存为)
:r [filename]
在编辑的数据中,读入另一个文件的数据,并将filename这个文件的内容加到光标所在行的后面
:set nu
显示行号
:set none
隐藏行号
n1,n2 w [filename]
将n1到n2的内容另存为filename这个文件。
网页原版图
网站还将这些命令由浅入深编成了7节课,如下所示: