之前我们说过,在Linux操作系统中一切皆文本和目录,一些重要的配置文件也是文本文件,那我们就肯定需要对它们进行配置,那我们应该改怎样配置他们呢?加下来我们就需要用到Vim或Vi文本编辑器,它就像Windows系统中的记事本相类似。
首先我们看一下Vi与Vim的区别吧。
Vi:
1. 编辑器的编辑模式:命令模式、输入模式、末行模式
2. 对文件的操作
1) 打开文件
a) :e 文件名(打开新的文件到编辑器中)
b) :e! 文件名 (打开新的文件到编辑器中,并放弃对当前文件的修改)
2) 读取文件
:r文件名(读取文件内容到当前编辑器中)
3) 保存文件
:w(保存对编辑器中已打开文件的修改)
4) 另存为文件
:w新文件名 (将编辑器中的内容另存到指定文件中)
5) 退出编辑器
a) :q(对编辑器中的内容无操作,退出)
b) :qw(保存退出)
c) :q!(强制退出,不保存)
3. 翻页操作
操作键 |
功能 |
Ctrl+f |
向前翻一页 |
Ctrl+b |
向后翻一页 |
Ctrl+u |
向前翻半页 |
Ctrl+d |
向后翻半页 |
4. 行间快速跳转
命令 |
功能 |
:set nu |
显示行号 |
:set nonu |
取消显示行号 |
1G |
跳转到文件的首行 |
G |
跳转到文件的末尾行 |
#G |
跳转到文件中的第#行 |
5. 进入输入模式
命令 |
功能 |
i |
在当前光标处进入插入状态 |
a |
在当前光标后进入插入状态 |
A |
光标移动到行末,进入插入状态 |
o |
在当前行的下面插入新行,移到行首,进入插入状态 |
O |
在当前行的上面插入新行,移到行首,进入插入状态 |
cw |
删除当前位置到所到单词尾的字符,进入插入状态 |
c$ |
删除当前位置到行尾的字符,进入插入状态 |
c^ |
删除光标之前到行首的全部字符,进入插入状态 |
6. 删除操作
命令 |
功能 |
x |
删除光标处的单个字符 |
dd |
删除光标所在行 |
dw |
删除当前字符到单词尾(含空格)的所有字符 |
de |
删除当前字符到单词尾(不含空格)的所有字符 |
d$ |
删除当前字符到行尾的所有字符 |
d^ |
删除当前字符到行首的所有字符 |
J |
删除所在行的换行符,即当前行与下一行合并 |
u |
取消最近一次操作,并恢复操作 |
U |
取消当前行的所有操作 |
Ctrl+r |
对使用u命令撤销的操作进行恢复 |
7. 复制与粘贴操作
命令 |
功能 |
yy |
复制当前行整行的内容到vi缓冲区 |
yw |
复制当前光标到单词尾字符的内容到缓冲区 |
y$ |
复制当前光标到行尾的内容到缓冲区 |
y^ |
复制当前光标到行首的内容到缓冲区 |
p |
读取缓冲区内容,并粘贴 |
9. 字符串查找操作
命令 |
功能 |
/字符 |
从上到下在文件中查找字符串 |
?字符 |
从下到上在文件中查找字符串 |
n |
定位下一个匹配的字符串 |
N |
定位上一个匹配的字符串 |
10. 字符串替换
命令 |
功能 |
:s /old/new |
将从当前行中查找到的第一个字符串“old”替换为“new” |
:s /old/new/ g |
将从当前行中查找到的所有字符串“old”替换为“new” |
:#,#s/old/new/g |
在行号“#,#”范围内替换所有字符串“old”为“new” |
:%s/old/new/g |
将整个文件范围内替换所有的字符串“old”为“new” |
:s/old/new/c |
在替换命令末尾加c,将对每个替换操作进行提示确认 |
11. 对文件操作
命令 |
功能 |
:args |
显示多文件信息 |
:next |
向后切换文件 |
:prev |
向前切换文件 |
:first |
定位首文件 |
:last |
定位尾文件 |
Ctrl+^ |
快速切换到编辑器中切换前的文件 |