vi/vim

vi编辑器是所有Unix及Linux系统下标准的编辑器,相当于windows系统中的记事本,它的强大不逊色于任何最新的文本编辑器。

vim(vi improved)可以认为是vi的增强版本,支持多窗口编辑和语法高亮,具有程序编辑能力。

工作模式

vi有三种模式,命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)。

命令模式

默认进入命令模式,可以使用上下左右按键控制光标,可以删除字符或整行,可以复制、粘贴。

插入模式

命令模式无法编辑,按下【i, I, o, O, a, A, r, R】等字母之后进入插入模式,屏幕的左下方会出现【INSERT 或 REPLACE】的字样。如果要回到一般模式,必须按下【Esc】退出编辑模式。

底行模式

输入【 : / ? 】三个中的任何一个,就可以将光标移动到最底下那一行,可以查找、读取、保存、替换字符、离开vi、显示行号等。

快捷键

移动光标类命令

^ :光标移至行首
$ :光标移至行尾
h :光标左移一个字符
l :光标右移一个字符
space:光标右移一个字符
Backspace:光标左移一个字符
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
G:跳到最后1行
15G:表示跳转到第15行
1G:表示跳转到第1行
gg:跳转到第1行

插入文本类命令

i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
S:删除指定数目的行,并以所输入文本代替之
ncw或nCW:修改指定数目的字
nCC:修改指定数目的行

搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换

复制剪切

yy:复制光标所在行;
8yy:复制光标所在行之后的8行;
p:粘贴;
dd:剪切当前行;
8dd:表示从当前光标所在的行开始剪切8行;

最后更新于