Vi 即"Visual"的简称,取意可视化编辑器,是Unix世界里极为普遍的全屏幕文本编辑器,VIM是它的改进版本Vi IMproved的简称。vim命令的操作方法与vi一模一样,只是在vi基础上对内容显示上进行了颜色的衬托,对相关指令以变色,以区别其它文字,更加人性化了。
1 工作模式
VI有三种工作模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。
命令模式:控制光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。VI启动后默认进入命令模式,可通过命令切换到插入模式或底行模式。反之亦可。
插入模式:只有进入插入模式才能进行输入、修改等编辑工作。
底行模式:在该模式下可以退出或保存文件,也可以设置编辑环境(如列出行号),字符串查找等。
2 VI命令
2.1 进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename :打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename :打开多个文件,依次进行编辑
启动vi时,默认进入命令模式,可通过a或i进入插入模式(左下方提示-- INSERT --)进行编辑工作,通过Esc键返回命令模式;在命令模式下,可通过输入 : 或 ? 或 / 进入底行模式进行设置或查找工作。
gg 或 : 0 跳转到文本首行
G 或 : $ 跳转到文本末行
: 行号 跳转到指定行
0 跳转到当前行的第一个字符
$ 跳转到当前行的最后一个字符
2.2 命令模式
2.3 插入模式
在命令模式下可通过以下几种方式进入插入模式:
命令 | 说明 |
i | 在光标前插入 |
a | 在光标后插入 |
I | 在当前行首插入 |
A | 在当前行尾插入 |
o | 在当前行之下 新开一行 |
O | 在当前行之上 新开一行 |
r | 替换当前字符 |
R | 替换当前字符及其后的字符,直至按ESC键 |
s | 从当前光标位置处开始,以输入的文本替代指定数目的字符 |
S | 删除指定数目的行,并以所输入文本代替 |
ncw或nCW | 修改指定数目的字,其中n为指定的数值,如1或11等 |
nCC | 修改指定数目的行 |
2.4 底行模式
从命令模式进入底行模式的命令是输入 : (保存,退出和设置)、 ? 或 / (进行字符串查找)
2.4.1 保存或退出
命令 | 说明 |
:q | 退出vi,如果文件修改则不能退出,需先保存文件 |
:q! | 强制退出vi而不保存文件 |
:x | 保存文件并退出 |
:x! | 强制保存文件并退出 |
:w | 保存文件但不退出 |
:w! | 对于只读文件,强制保存修改的内容,但不退出vi |
:wq | 保存文件并退出,同x |
:w filename | 另存为filename文件,不退出vi |
:w! filename | 强制另存为filename文件,不退出vi |
:r filename | 读入filename指定的文件内容插入到光标位置 |
2.4.2 设置选项
2.4.3查找