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行 |
内容删除
命令 | 解释 |
---|---|
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 |