移动光标的方法 |
h或向左箭头键 |
光标向左移动一个字符 |
l或向右箭头键 |
光标向右移动一个字符 |
j或向下箭头键 |
光标向下移动一个字符 |
k或向上箭头键 |
光标向上移动一个字符 |
如果想要进行多次移动的话,例如向下移动30行,可以使用"30j"或"30(向下箭头)"的组合按键,即加上想要进行的次数(数字)后,按下操作即可 |
[Ctrl]+[f] |
屏幕向下移动一页,相当于[Page Down]按键(常用) |
[Ctrl]+[b] |
屏幕向上移动一页,相当于[Page Up]按键(常用) |
[Ctrl]+[u] |
屏幕向上移动半页 |
[Ctrl]+[d] |
屏幕向下移动半页 |
+ |
光标移动到非空格符的下一行 |
- |
光标移动到非空格符的上一行 |
n<space> |
n表示数字。按下数字后再按空格键,光标会向右移动这一行的n个字符。例如20<space>,则光标会向后面移动20个字符距离 |
0或功能键[Home] |
数字0,表示移动到这一行的最前面字符处(常用) |
$或功能键[End] |
表示移动到这一行的最后面字符处(常用) |
H |
光标移动到这个屏幕的最上方那一行的第一个字符 |
M |
光标移动到这个屏幕的中央那一行的第一个字符 |
L |
光标移动到这个屏幕的最下方那一行的第一个字符 |
G |
移动到这个文件的最后一行(常用) |
nG |
移动到这个文件的第n行 |
gg |
移动到这个文件的第一行,相当于1G(常用) |
N[Enter] |
光标向下移动n行(常用) |
查找与替换 |
/word |
向下寻找一个名称为word的字符串(常用) |
?word |
向上寻找一个名称为word的字符串 |
n |
这个n是英文按键。代表重复前一个查找的操作。 |
N |
这个N是英文按键。与n相反,为“反向”进行前一个查找操作。 |
:n1,n2s/word1/word2/g |
n1与n2为数字。在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2。举例来说,在100到200行之间查找vbird并替换为VBIRD则用":100,200s/vbird/VBIRD/g"(常用) |
:1,$s/word1/word2/g |
在第1与最后一行之间寻找word1这个字符串,并将该字符串替换为word2。(常用) |
:1,$s/word1/word2/gc |
在第1与最后一行之间寻找word1这个字符串,并将该字符串替换为word2。且在替换前显示提示字符给用户确认(confirm)是否需要替换(常用) |
删除、复制与粘贴 |
x,X |
在一行字当中,x为向后删除一个字符(相当于[Del]按键),X为向前删除一个字符(相当于[Backspace])(常用) |
nx |
n为数字,连续向后删除n个字符。举例来说,连续删除10个字符,"10x" |
dd |
删除光标所在的那一行(常用) |
ndd |
n为数字。删除光标所在的向下n行,例如20dd,则是删除20行(常用) |
d1G |
删除光标所在到第一行的所有数据 |
dG |
删除光标所在到最后一行的所有数据 |
d$ |
删除从光标所在处到该行的最后一个字符 |
d0 |
删除从光标所在处到该行的最前面一个字符 |
yy |
复制光标所在行(常用) |
nyy |
n为数字。复制光标所在的向下n行,例如20yy则是复制20行(常用) |
y1G |
复制光标所在行到第一行的所有数据 |
yG |
复制光标所在行到最后一行的所有数据 |
y0 |
复制光标所在的那个字符到该行行首的所有数据 |
y$ |
复制光标所在的那个字符到该行行尾的所有数据 |
p,P |
p为将已复制的数据在光标下一行粘贴,P则为粘贴在光标上一行。例如,我目前光标在第20行,且已经复制了10行数据。则按下p后,那10行数据会粘贴在原本的20行之后,也即由21行开始粘贴。但如果按下P,则原本的第20行会被变成30行(常用) |
J |
将光标所在行与下一行的数据结合成同一行 |
c |
重复删除多个数据,例如向下删除10行,[10cj] |
u |
复原前一个操作(常用) |
[Ctrl]+r |
重做上一个操作(常用) |
. |
重复前一个操作的意思。如果你想要重复删除、重复粘贴等操作,按下小数据点"."就好了。(常用) |
块选择 |
v |
字符选择,会将光标经过的地方反白选择 |
V |
行选择,会将光标经过的行反白选择 |
[Ctrl]+v |
块选择,可以用长方形的方式选择数据 |
文件操作 |
文件的保存、恢复 |
vim可能由于各种原因被中断,但linux系统会为正在编辑的文件进行备份,备份的文件名为“.原文件名.swp"。例:原文件名为a,则备份的文件名为.a.swp。 |
:files
|
列出目前这个vim打开的所有文件 |
:n |
编辑下一个文件 |
:N |
编辑上一个文件 |
多窗口 |
:sp[filename] |
打开一个新窗口,如果有加filename,表示在新窗口打开一个新文件,否则表示两个窗口为同一个文件内容(同步显示) |
[Ctrl]+w+j或Ctrl]+w+向下箭头 |
光标可移动到下方的窗口 |
[Ctrl]+w+k或Ctrl]+w+向上箭头 |
光标可移动到上方的窗口 |
[Ctrl]+w+q |
关闭窗口 |