概述(Vi与Vim)
Vi编辑器是所有Unix及Linux系统下标准的编辑器,美国加州大学伯克利分校的Bill Joy所创立 ,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,Vi也是Linux中最基本的文本编辑器。
Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,它是从 vi 发展出来的一个文本编辑器,在Vi的基础上改进和增加了很多特性。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用VIM是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个。
vi和vim一个最直观的不同在于vim的颜色显示是非常丰富的,而vi是没有任何颜色显示的


你甚至可以给vi定义一个别名为vim,写进/etc/bashrc文件里


工作模式
vi可以分为三种状态,分别是命令模式、插入模式,和末行模式。

命令模式
打开vi编辑器之后默认显示的模式是命令模式,可以进行复制,删除,替换等操作
复制相关命令 |
描述 |
yy |
复制光标所在行 |
3yy |
复制光标往下3行,包含光标所在行 |
yw |
复制光标处的一个单词 |
删除相关命令 |
描述 |
dd |
删除光标所在行 |
3dd |
删除光标往下3行,包含光标所在行 |
dw |
删除光标处的一个单词 |
x/DEL键 |
删除光标处单个字符 |
X |
删除光标前一个字符 |
粘贴相关命令 |
描述 |
p |
将复制/删除的行粘贴在光标所在行的下一行 |
P |
将复制/删除的行粘贴在光标所在行的上一行 |
跳转命令 |
描述 |
gg |
跳转到第一行 |
G |
跳转到最后一行 |
3G |
跳转到第三行 |
HOME键 |
跳转到行首 |
END键 |
跳转到行尾 |
M |
跳转到屏幕中间的行首 |
替换相关命令 |
描述 |
r |
替换光标所在处单个字符,按一下r再按一下需要替换的字符即可 |
撤回命令 |
描述 |
u |
撤回上一次操作 |
U |
撤回之前所有操作 |
搜索命令 |
描述 |
/ |
搜索关键字,从上往下 |
? |
搜索关键字,从下往上 |
n |
定位下一个被查找的字符串 |
N |
定位上一个被查找的字符串 |
切换你到插入模式 |
描述 |
a |
在光标位置之后输入 |
A |
在行尾输入 |
i |
在光标位置之前输入 |
I |
在行首输入 |
o |
在光标位置的下一行输入 |
O |
在光标位置的上一行输入 |
插入模式
末行模式
命令 |
描述 |
wq |
保存并退出 |
x |
保存并退出 |
q! |
不保存直接退出 |
set nu |
显示行号 |
set nonu |
取消显示行号 |
set nu! |
取消显示行号 |
e /etc/profile |
打开新的文件进行编辑 |
r /etc/profile |
在当前文件中显示其他文件的内容 |
查找并替换命令 |
描述 |
s /old/new |
把old替换成new |
% |
全文搜索 |
/g |
全文替换 |
% s/old/new/g |
在全文范围内搜索old,全部替换成new |
1,2s /old/new |
把1-2行的old替换成new |
s /old/new/c |
每个替换之前向用户提示 |