移动光标的方法(一般模式)
按键 |
说明 |
h或向左箭头键 |
光标向左移动一个字符 |
j或向下箭头键 |
光标向下移动一个字符 |
k或向上箭头键 |
光标向上移动一个字符 |
l或向右箭头键 |
光标向右移动一个字符 |
如果想要啊进行多次移动的话,例如向下移动30行,可以使用 “30j” 或 “30j”的组合键向上、左、右同上。
按键 |
说明 |
[Ctrl或control] + [f] |
屏幕向下移动一页,相当于[Page Dwon]按钮 (常用) |
[Ctrl或control] + [b] |
屏幕向上移动一页,相当于[Page Up]按钮 (常用) |
[Ctrl或control] + [d] |
屏幕向下移动半页 |
[Ctrl或control] + [u] |
屏幕向上移动半页 |
+ |
光标移动道非空格符的下一行 |
– |
光标移动道非空格符的上一行 |
n |
n代表数字,例如20。按下数字后再按空格,光标会向右移动这一行的n个字符。 |
0 或功能键 Home |
这是数字“0”:移动道这一行的最前面字符处(常用) |
$ 或功能键[End] |
移动到这一行的最后面字符处(常用) |
H |
光标移动到这个屏幕最上方那一行到第一个字符 |
M |
光标移动到这个屏幕中央那一行到第一个字符 |
L |
光标移动到这个屏幕的最下方那一行的第一个字符 |
G |
移动到这个文件的最后一行(常用) |
nG |
n为数字;移动道这个文件的第n行。例如:20G(常用) |
N[Enter] |
n为数字;光标向下移动n行(常用) |
查找与替换 (一般模式)
按键 |
说明 |
/word |
向下查找一个名称为word的字符串;(常用) |
?word |
向上查找一个名称为word的字符串;(常用) |
n |
n是一个英文按键,代表重复前一个查找的操作 |
N |
与n相反,代表反向进行前一个查找操作 |
:n1,n2s/word1/word2/g |
n1和n2是数字。在第n1与n2行之间查找word1字符串,并将该字符串替换为 word2 |
:1,$s/word1/word2/g |
从第一行到最后一行查找word1,并将该字符串替换为 word2(常用) |
:1,$s/word1/word2/gc |
从第一行到最后一行查找word1,并将该字符串替换为 word2,且在替换前提醒是否需要替换(常用) |
删除、复制与粘贴 (一般模式)
按键 |
说明 |
x,X |
在一行字当中,x为向后删除一个字符,X为向前删除一个字符。相当于[Backspace] (常用) |
nx |
n为数字,连续向后删除n个字符。 |
dd |
删除光标所在的那一整行(常用) |
ndd |
n为数字,删除光标所在的向下n行。 |
d1G |
删除光标所在行到第一行的所有数据 |
dG |
删除光标所在行到最后一行到所有数据 |
d$ |
删除光标所在处到该行的最后一个字符 |
d0 |
那个是数字0。 删除光标所在处到该行的最前面一个字符 |
yy |
复制光标所在的那一行 (常用) |
nyy |
n为数字,复制光标所在向下n行 |
y1G |
复制光标所在的那一行到第一行的所有数据 |
yG |
复制光标所在的那一行到最后一行的所有数据 |
y0 |
复制光标所在的那个字符到该行行首的所有字符 |
y$ |
复制光标所在的那个字符到该行行尾的所有字符 |
p,P |
p为将已复制的数据粘贴到光标下一行,P则粘贴到光标的上一行。 |
J |
将光标所在行与下一行的数据结合成一行 |
u |
复原前一个操作(常用) |
[Ctrl或control] +[r] |
重做上一个操作(常用) |
. |
这是一个小数点。重复前一个操作的意思(常用) |
一般模式切换到编辑模式可用按钮
按键 |
说明 |
i,l |
i为在当前光标处插入数据,I为在当前行第一个字符处插入数据。(常用) |
a,A |
a为从目前光标所在的下一个字符处开始插入;A为从光标所在行的最后一个字符处开始插入 |
o,O |
o为在目标所在行的下一行处插入新的一行;O为上一行插入新的一行(常用) |
r,R |
r只会替换光标所在的哪一个字符一次;R会一直替换光标所在的文字,只到按下Ese键为止(常用) |
Esc |
退出编辑模式,回到一般模式中(常用) |
一般模式切换到命令模式的可用按钮
按键 |
说明 |
:w |
将编辑的数据写入硬盘文件中(常用) |
:w! |
若文件属性为只读,强制写入该文件。不过,到底能不能写入,还是跟你对改文件的文件权限有关 |
:q |
离开vim (常用) |
:q! |
若曾修改过文件,又不想保存,使用 ‘!’为强制离开且不保存 |
:wq |
保存后离开,加!就是强制保存后离开 |
ZZ |
这是大写Z。若文件没有改动,则不保存离开;若文件已经被改动过,则保存后离开 |
:w[filename] |
将编辑的数据保存为另一个文件(类似于另存为) |
:r[filename] |
在编辑的数据中,读入另一个文件的数据,即将”filename” 这个文件内容加到光标所在行到后面 |
:n1,n2 w [filename] |
将n1到n2点内容保存为filename这个文件 |
:! command |
暂时离开vim到命令行模式下执行command到显示结果。 例如 “:! ls /home” |
:set nu |
显示行号 |
:set nonu |
取消行号 |
“!” 一般代表强制的意思。强制不一定成功,还和文件权限有关