热度 6| |
↑(k)↓(j) |
上下 |
←(h)→(l) |
左右 |
|||||
[Ctrl]+f |
Page Down |
[Ctrl]+d |
向下移动半页 |
|||||
[Ctrl]+b |
Page UP |
[Ctrl]+u |
向上移动半页 |
|||||
0/[Home] |
移到一行最前面字符 |
$/[End] |
移到一行最后面字符 |
|||||
G |
移动到档案最后一行 |
nG |
n为数字,移动到第n行 |
|||||
gg |
移动到档案第一行 |
n<Enter> |
向下移动n行 |
|||||
x, X |
向后/向前删除一个字符 |
nx |
连续删除数字n个字符 |
|||||
dd |
删除一整行 |
ndd |
向下删除数字n行 |
|||||
d1G |
删除光标行到第一行的数据 |
dG |
删除光标行到最后一行 |
|||||
d0 |
删除游标到该行最前面字符 |
|
|
|||||
yy |
复制一行 |
nyy |
向下复制n列 |
|||||
y1G |
复制光标行到第一行的数据 |
yG |
复制光标行到最后一行 |
|||||
y0 |
复制游标到该行最前面字符 |
y$ |
复制游标到该行行尾字符 |
|||||
p, P |
粘贴在下一行/上一行 |
|
|
|||||
u |
复原前一个动作 |
[Ctrl]+r |
重做上一个动作 |
|||||
. |
重复前一个动作。注意,u, yy不算动作W |
|||||||
/word |
向下搜索word |
?word |
向上搜索word |
|||||
n |
重复前一个搜索动作 |
N |
反向进行前一个搜索动作 |
|||||
:n1,n2s/word1/word2/g :1,$ s/word1/word2/g |
在n1,n2间,将word1取代为word2 从第一行到最后一行,将word1取代为word2 |
|||||||
:1,$ s/word1/word2/gc |
取代前提示用户确认是否取代 |
|||||||
i, a, o ,r |
有大写,进入insert/replace mode,具体见下面内容 |
|||||||
:w |
写入 |
:w! |
强制写入 |
|||||
:q |
离开 |
:q! |
强制离开,不存储 |
|||||
:wq(!) |
保存后退出 |
:w [filename] |
另存为 |
|||||
:! command |
暂离vi到指令模式 |
:r [filename] |
插入另一个文件中数据 |
|||||
ZZ |
若无改动,测不储存离开,若有改动,则保存后离开 |
|||||||
:n1,n2 w [fn] |
将n1到n2内容保存到fn这个文件中 |
|||||||
:set nu |
显示行号 |
:set nonu |
取消行号 |
|||||
区块选择 |
||||||||
v |
字符选择,被选择的数据会反白 |
V |
行选择 |
|||||
[Ctrl]+v |
区块选择,可以用长方形方式选择数据 |
|||||||
y |
复制反白的数据 |
d |
删除反拍的数据 |
|||||
c |
替换选中内容,先删除再输入 |
[shift]+i |
插入字符 |
|||||
多文件多窗口操作 |
||||||||
:n, :N |
编辑下一个/上一个文件 |
:files |
列出开启的所有文件 |
|||||
[Ctrl]+w+j(↑) |
移到上方窗口 |
[Ctrl]+w+k( (↓) |
移到下方窗口 |
|||||
:sp [fn] |
若有加filename [fn],则用新窗口开启新文件。否则两个窗口显示同一个文件 |