vi的三种模式切换及基本命令

vi 三种模式
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