vi 编辑器是 Linux 系统中最常用的文本编辑器,vi 在 Linux 界有编辑器之神的美誉,几乎所有的 Linux 发行版中都包含 vi 编辑器。
vi 工作在字符模式下,不需要图形界面,非常适合远程及嵌入式工作,是效率很高的文本编辑器,尽管在 Linux 上也有很多图形界面的编辑器可用,但 vi 的功能是那些图形编辑器所无法比拟的。
vim 是 vi 的升级版,它不仅兼容 vi 的所有指令,而且还有一些新的特性,例如 vim 可以撤消无限次、支持关键词自动完成、可以用不同的颜色来高亮你的代码。
vim 普遍被推崇为类 vi 编辑器中最好的一个。
vim 有输入和命令两种工作模式。输入模式(也叫插入模式)用于输入字符。命令模式则是用来运行一些编排文件、存档以及离开 vim 等操作命令。当执行 vim 后,首先进入命令模式,此时输入的任何字符都被视为命令。
注意:新安装的 ubuntu 系统没有 vim,需要自己安装:sudo apt install vim
安装好之后,直接在终端上输入 vim,可查看 vim 版本信息:
一、vim 基本操作
1、打开文件:
vim filename:打开或新建文件;若文件存在,则打开;若文件不存在,则新建;用 vim 打开的文件,默认进入命令模式,在命令模式下无法对文件进行编辑;
2、编辑文件:
在命令模式下按下 i 键即可进入编辑模式;此时才可以对文件进行编辑;
3、保存文件:在编辑模式下按 ESC 键退出编辑模式,重新进入命令模式;在命令模式下输入 :wq ,然后回车,即可保存文件并退出;
二、vim 常用命令
1、vim 的插入模式:
|
按键 |
功能 |
|
a |
光标位置右边插入文字 |
|
i |
光标位置当前处插入文字 |
|
o(字母) |
光标位置下方开启新行 |
|
O(字母) |
光标位置上方开启新行 |
|
I |
光标所在行首插入文字 |
|
A |
光标所在行尾插入文字 |
2、vim 的退出命令:
|
按键 |
功能 |
|
ZZ(shift+z+z) |
保存退出 |
|
:wq |
保存退出 |
|
:x(小写) |
保存退出 |
| :w | 保存当前文件 |
|
:w filename |
保存到指定文件 |
|
:q |
退出,如果文件修改但没有保存,会提示无法退出 |
|
:q! |
退出,不保存 |
|
:!命令 |
暂时离开vi,执行命令 |
3、vim 的删除和修改命令:
|
按键 |
功能 |
|
[n]x |
删除光标后 n 个字符 |
|
[n]X |
删除光标前 n 个字符 |
|
D |
删除光标位置开始到此行尾的所有字符 |
|
[n]dd |
剪切从当前行开始的 n 行(也可以用作删除,因为剪切不粘贴即为删除) |
|
[n]yy |
复制从当前行开始的 n 行 |
|
p |
把粘贴板上的内容插入到当前光标所在行的下一行 |
|
dG |
删除光标所在开始到文件尾的所有字符 |
|
J |
合并两行 |
|
. |
执行上一次操作 |
|
u |
撤销前一个命令 |
4、vim 的行定位功能:
|
按键 |
功能 |
|
Ctrl + f |
向前滚动一个屏幕 |
|
Ctrl + b |
向后滚动一个屏幕 |
|
gg |
到文件第一行行首 |
|
G(大写) |
到文件最后一行行首,G必须为大写 |
|
:$ |
到文件最后一行行首 |
|
mG或mgg |
到指定行,m为目标行数 |
|
/内容 |
查找指定内容 |
5、vim 的文本查找功能:
|
按键 |
功能 |
|
/字符串 |
查找指定字符串 |
|
n |
寻找下一个 |
|
N |
回到前一个 |
|
? |
寻找上一个 |
|
/^字符串 |
查找以字符串开始的行 |
|
/字符串$ |
查找以字符串结尾的行 |
|
/a.b |
查找字符串a任意字符b |
6、vim 的替换功能:
|
按键 |
功能 |
|
r |
替换当前光标字符 |
|
:r 文件名 |
在光标当前位置载入另一个文件 |
|
:s/p1/p2/g |
将当前行中所有p1均用p2替代 |
|
:g/p1/s//p2/g |
将文件中所有p1均用p2替代 |
|
:n1,n2s/p1/p2/g |
将n1到n2行中所有p1均用p2替代 |
7、vim 的 set 命令:
|
按键 |
功能 |
|
:set ic |
搜寻时忽略大小写 |
|
:set noic |
搜寻时不忽略大小写 |
|
:set nu |
显示行号 |
|
:set nonu |
不显示行号 |