2、vim编辑器模式分类vim
1.命令模式编辑器
移动光标命令ide
字符移动spa
h->向左移动一个字符(对应向左箭头)文档
nh->向左移动n个字符字符串
l->向右移动一个字符(对应向右箭头)it
nl->光标移到n个字符class
space->向右移动一个字符搜索
nspace->向右移动n个字符im
Backspace->光标左移一个字符
nBackspace->向左移动n个字符
字移动
w->右移一个字
nw->右移n个字
b->左移一个字
nb->左移n个字
e->右移一个字且至字尾
ne->右移n个字且至字尾
行移动
j->向下移动一行(对应向下箭头)
nj->向下移动n行
k->向上移动一行(对应向上箭头)
nk->向上移n行
Ctrl+p->光标上移一行
Ctrl+n->光标下移一行
Enter->光标下移一行
nEnter->向下移n行
nG->光标移到第n行首
n+->光标下移n行
n->光标上移n行
n$->光标移到第n行尾
0->光标移到当前行首
(->光标移到当前行首
$->光标移到当前行尾
)->光标移到当前行尾
^->光标移到当前行首
}->光标移到段落开头
{->光标移到段落结尾
跳转命令
G->光标定位到当前文档最后一行首
H->光标移到屏幕顶行
M->光标移到屏幕中间行
L->光标移到屏幕后行
n shift+g->跳转到第n(这里的n表示数字)行
shift+g->跳转到文件最后一行首
删除命令
删除字符
x->删除光标所在的一个字符
nx->删除光标所在的字符及后n-1个字符
X->删除光标前一个字符
nX->删除光标前n个字符
D->删除光标所在位置到行尾字符
删除字
dw->删除一个字
ndw->删除n个字
d0->删至行首
d$->删至行尾
删除行
dd->删除光标所在行
ndd->删除当前行及后n-1行
删除块
d(->从光标位置删除到上一行首
d)->从光标位置删除到下一行首
d{->从光标位置删除到上一段开始全部字符
d}->从光标位置删除到下一段开始全部字符
d回车->删除当前行及下一行
复制命令
复制字符
yl->将光标所在的字符保存到寄存器
nyl->将当前光标及下n个字符保存到寄存器
复制字
yw->将光标所在之处到字尾内容保存到寄存器
nyw->将当前光标及下n个字保存到寄存器
复制行
yy->复制当前行到寄存器
nyy->将当前行及下n行内容保存到寄存器
复制块
先按v而后按方向键选择区域,再按y便可选中
y(->当前光标到上一句开始
y)->当前光标到下一句结束
y{->复制到上一段的开始
y}->复制到下一段的开始
y回车->复制当前行及下一行
剪切命令
dd->将当前行内容删除并保存到寄存器
ndd->将当前行及下n行内容删除并保存到寄存器
粘贴命令
p->将寄存器中的内容放到光标位置
撤销命令
u->将上次修改进行撤销
替换命令
r->替换光标所在的字符
R->替换光标所在的字符及后续字符,esc退出
s->删除字符,以输入文本代替
ns->删除n个字符,以输入文本代替
S->删除指定行,并以输入文本代替
nS->删除n行,以输入文本代替
更改命令
更改字符
cl->修改光标所在字符
ncl->修改光标所在字符及n-1个字符
更改字
cw->修改光标所在的字
ncw->修改n个字
更改行
cc->修改光标所在行
ncc->修改n行
屏幕滚动命令
Ctrl+u->向上翻半屏
Ctrl+d->向下翻半屏
Ctrl+f->向下翻一屏
Ctrl+b->向上翻一屏
显示行号命令
Ctrl+g->显示光标所在行号
保存命令
ZZ->保存文件内容
重复命令
.->重复执行上一次的命令
2.文本输入模式
进入输入模式命令
i->在光标前输入
I->在当前行首输入
a->在光标后输入
A->在当前行尾输入
o->在当前行之下新开一行
O->在当前行之上新开一行
删除输入内容命令
Ctrl+u->删除输入模式下所输入的内容
3.末行模式
搜索命令
/字符串->从当前光标向下搜索指定字符串
?字符串->从当前光标向上搜索指定字符串
重复搜索命令
n->这里是英文字符n,向下搜索
N->这里是英文字符N,向上搜索
替换命令
s/原字符串/目标字符串/->将当前行第一个原字符串替换为目标字符串
s/原字符串/目标字符串/g->将当前行全部原字符串替换为目标字符串
n1,n2s/原字符串/目标字符串/->将n1行到n2行中每行的第一个原字符串替换为目标字符串
n1,n2s/原字符串/目标字符串/g->将n1行到n2行全部原字符串替换为目标字符串
n1,$s/原字符串/目标字符串/g->将n1行到最后一行全部原字符串替换为目标字符串
g/原字符串/s//目标字符串/g->将当前文件中全部的原字符串替换为目标字符串
%s/原字符串/目标字符串/g->将当前文件中全部的原字符串替换为目标字符串
自定义分隔符
s#原字符串/#目标字符串/ ->这里的#是分隔符,/表示字符串一部分
复制命令
n1,n2 co n3->将n1到n2之间的内容复制到n3行下
n1,n2 m n3->将n1到n2之间的内容移动到n3行下
删除命令
n1,n2 d->将n1到n2之间的内容删除
%d->删除所有内容
1,$d->删除所有内容
保存命令
w->保存不退出
w!->强制保存不退出
w /文件名 另存为文件名
n1,n2w /文件名 将n1到n2之间的内容另存为文件名
x->保存并退出
q->退出且不保存
q!->强制退出且不保存
wq->保存并退出
wq!->强制保存并退出
e!->放弃全部修改,从上次保存文件开始
行号命令
set nu->显示行号
set nu!->不显示行号
f->显示光标所在行号
set number->显示行号
set nonumber->不显示行号
set number->不显示行号
跳转命令
n->跳转到n行
$->跳转到当前文档最后行首
选项设置
set all->列出全部选项设置状况
set list->显示制表位和行尾标志
set hlsearch->高亮显示执行内容
set hlsearch->关闭高亮显示
set nohlsearch->关闭高亮显示
1、进入vi命令
命令:vi -R 文件名
说明:只读方式打开文件
命令:vi -r 文件名
说明:进到vi上次崩溃
命令:vi +/字符串 文件名
说明:打开文件,并将光标定位到第一个与“字符串”匹配的位置
命令:vi + 文件名
说明:打开文件,并将光标定位到最后一行首
命令:vi +n 文件名
说明:打开文件,并将光标定位到第n行首
命令:vi 文件名
说明:打开或新建文件