vi 三种模式
vi的三种模式为命令模式,编辑模式,末(尾)行模式
vimplus可以参考官网文档:https://github.com/chxuan/vimplus/blob/master/help.md
普通vi三种模式下的常用命令如下:
命令模式
命令模式(默认),按下esc
即可,可以执行移动光标,删除等操作
光标移动
字符级
命令 | 解释 |
---|---|
h |
左 |
j |
下 |
k |
上 |
l |
右 |
等价于四个方向键
单词级
命令 | 解释 |
---|---|
w |
移动到下个单词首字母 |
b |
上个单词首字母 |
e |
下个单词结尾 |
行级
命令 | 解释 |
---|---|
0 |
行首 |
$ |
行尾 |
段落级
命令 | 解释 |
---|---|
{
|
上 |
} |
下 |
屏幕级
命令 | 解释 |
---|---|
H |
屏首 |
L |
屏尾 |
文档级
命令 | 解释 |
---|---|
G |
文档尾部 |
nG |
文档第n行 |
gg |
文档第一行 |
crtl+f |
<–> pagedown向下翻页 |
crtl+b |
<–> pageup向上翻页 |
n+enter |
向下移动n行 |
内容删除
扫描二维码关注公众号,回复:
11983622 查看本文章
命令 | 解释 |
---|---|
dd |
除当前行 |
ndd |
自当前行向下删除n行 |
x |
删除当前字符 |
cw |
删除光标所在字母后面的字符 |
内容复制
命令 | 解释 |
---|---|
yy |
复制光标当前行 |
nyy |
自当前行复制n行 |
p |
对(删除)复制的内容进行粘贴 |
u |
撤销 |
. |
重复上次操作 |
编辑模式
输入a,i,o,s
都可以从命令模式进入到编辑模式,编辑模式可以输入任意内容.若想回到命令模式下,按ESC
键即可
命令 | 解释 |
---|---|
i |
从光标所在字符前插入 |
a |
从光标所在的字符后面插入 |
o |
从光标所在行的下面插入空白行 |
O |
从光标所在行的上面插入空白行 |
I |
从光标所在行的行首插入 |
A |
从光标所在行的行末插入 |
末行模式
用于保存内容、查找替换、设置行号等等功能性操作。比如在编辑模式下输入好内容后,需要保存,此时按"ESC"回到命令模式,然后按下":"进入到尾行模式
命令 | 解释 |
---|---|
:q |
quit退出vi编辑器 |
:w |
write保存修改的内容 |
:wq |
保存并退出 |
:q! |
强制退出,当对文本内容作了修改而不想要保存时 |
:w! |
强制保存,当没有文本的写权限时 |
:set number 或:set nu |
显示行号 |
:set nonumber 或:set nonu |
取消显示行号 |
:n |
跳转到第n行 |
:/内容/ 或:/内容 |
查找指定内容 |
:s/targetContent/newContent |
替换当前行第一个targetContent为newContent |
:s/targetContent/newContent/g |
整行相应内容替换 |
:%s/targetContent/newContent |
等价于:1,$s/word1/word2/g 整个文本相应内容替换 |
:n1,n2s/word1/word2/gc |
例如:100,200s/word1/word2/gc 把100行到200行之间的word1替换为word2,并提示是否替换c->confirm |