vi/vim 是一个功能强大的全屏幕文件编辑器,是Linux/UNIX上最常用的文件编辑器,它的作用是建立、编辑、显示文本文件。
注:命令都在命令状态下输入
命令 |
作用 |
其他 |
|
替换和取消命令 |
|||
r |
取代光标所在处字符 |
||
R |
从光标所在处开始替换字符,按ESC结束 |
||
u |
取消上一步操作 |
||
插入 |
|||
a |
在光标后附加文本 |
after(光标后) |
|
A |
在本行行末附加文本 |
After(行后) |
|
i |
在光标前插入文本 |
insert(光标前) |
|
I |
在本行开始插入文本 |
Insert(行前) |
|
o |
在光标下插入新行 |
||
O |
在光标上插入新行 |
||
定位1 |
|||
h、方向键左 |
左移一个字符 |
||
j、方向键下 |
下移一行 |
||
k、方向键上 |
上移一行 |
||
i、方向键右 |
右移一个字符 |
||
$ |
移至行尾 |
||
0 |
移至行首 |
||
H |
移至屏幕上端 |
||
M |
移至屏幕中央 |
middle |
|
L |
移至屏幕下端 |
||
定位2 |
|||
:set nu |
设置行号 |
||
:set nonu |
取消行号 |
||
gg G |
到第一行 到最后一行 |
||
nG |
到第n行 |
||
:n |
到第n行 |
||
删除命令(delete) |
|||
x |
删除光标所在处字符 |
||
nx |
删除光标所在处后n个字符 |
||
dd |
删除光标所在处行, ndd删除n行 |
||
dg |
删除光标所在处到末尾的内容 |
||
D |
删除光标所在处到行尾 |
||
:n1,n2d |
删除指定范围内的行 |
||
复制和剪切(copy paste) |
|||
yy、 Y |
复制当前行 |
||
nyy、nY |
复制当前行以下n行 |
||
dd |
剪切当前行 |
||
ndd |
剪切当前行以下n行 |
||
p、P |
粘贴在当前光标所在行下或行上 |
||
搜索和替换命令 |
|||
/string |
向前搜索指定字符串,搜索时忽略大小写:set ic |
||
n |
搜索指定字符串的下一个出现的位置 |
||
:%s/old/new/g |
全文替换指定字符串 |
||
:n1,n2s/old/new/g |
在一定范围内替换指定字符串 |
/g 不询问 /c 询问 |
|
其他实例 |
|||
:r文件名 |
导入文件 |
该两个命令可结合使用,如 :r !date 将命令执行后内容插入到光标所在处 |
|
:!命令 |
在vi中执行命令 |
||
:map 快捷键 触发命令 |
定义快捷键 |
Ctrl+v+p Eg :map ^p I#<ECS> Ctrl+P 来注释光标所在行 :map ^E itest.com Ctrl+E 在光标前插入test.com |
|
:unmap ^E |
取消定义map |
||
:n1,n2s/^/#/g |
连续行注释 |
^表示行首 |
|
:n1,n2s/^#//g |
取消注释 |
||
:ab mymail test.163.com |
替换 |
||
:unab mymail |
取消ab的定义 |