- 所有的Linux distributions都会内置vi文本编辑器
- 很多软件的编辑接口都会主动调用vi文本编辑器
- vim可以看做vi的高级版本,有程序编辑能力,强大好用
一、Vim的三种模式
- 命令模式:控制光标移动,对文本进行复制、粘贴、删除和查找
- 末行模式:保存或退出文件,以及其他的一些功能
- 插入模式:编辑文本内容
二、三种模式的切换和使用
![](https://img.haomeiwen.com/i14580856/d72e1276bcd628af.png)
Note:
- 当运行vim编辑器时,默认进入命令模式
- 插入模式和末行模式之间不能直接切换
- 按下
a、i、o
等键时,进入插入模式- 按下
:
等键时,进入末行模式- 按下
Esc
键回到命令模式
2.1 命令模式说明
按键 | 作用 |
---|---|
dd | 删除(剪切)光标所在行 |
ndd | 删除(剪切)从光标处开始的n行 |
yy | 复制光标所在行 |
nyy | 复制从光标处开始的n行 |
p | 粘贴(将删除或复制的数据粘贴到光标下一行) |
P | 粘贴(将删除或复制的数据粘贴到光标上一行) |
u | 撤销(后退) |
[Ctrl] + r | 重做上一个操作(前进) |
2.2 进入插入模式的说明
按键 | 作用 |
---|---|
i/I | 进入插入模式: i: 从当前光标插入 I: 从当前所在行的第一个非空格符处插入(即从开头插入) |
a/A | 进入插入模式: a: 从当前光标的下一个字符处插入 A: 从当前所在行的最后一个字符处插入(即从行末尾插入) |
o/O | 进入插入模式: o: 从当前光标的下一行插入新的一行 O: 从当前光标的上一行插入新的一行 |
r/R | 进入替换模式: r: 替换光标所在的字符 R: 一直替换光标所在的字符,直到按下[Esc]键为止 |
Note:
界面左下角出现--INSERT--
或--REPLACE--
字样
2.3 末行模式的说明
2.3.1 常用命令
按键 | 作用 |
---|---|
:w | 将编辑的数据从内存写入硬盘 |
:w! | 若文件属性为只读,强制写入 |
:q | 退出vim环境 |
:q! | 强制退出,且不保存文件 |
:wq! | 强制保存并退出 |
:set nu | 显示行号 |
:set nonu | 不显示行号 |
:n | 光标移动到第n行 |
2.3.2 替换命令
按键 | 作用 |
---|---|
:s/word1/word2 | 将当前光标所在行的第一个word1替换为word2 |
:s/word1/word2/g | 将当前光标所在行的所有word1替换为word2 |
:%s/word1/word2 | 将全文中每一行的第一个word1替换为word2 |
:%s/word1/word2/g | 将全文中所有的word1替换为word2 |
:n,ms/word1/word2/g | 将n行到m行的所有word1替换为word2 |
:.,$s/word1/word2/gc | 将光标所在行到最后一行的所有word1替换为word2 注意:替换前需要用户进行确认是否替换 |
2.3.3 查找命令
按键 | 作用 |
---|---|
/word | 在文本中从上至下搜索word |
?word | 在文本中从下至上搜索word |
n | 重复前一个查找操作 |
N | 反向进行前一个查找操作 |
三、块选择
按键 | 作用 |
---|---|
[Ctrl] + v | 块选择,用矩形的方式选择数据 |
v | 字符选择,将光标经过的地方反白 |
V | 行选择,将光标经过的行反白 |
y | 复制反白的数据 |
d | 删除反白的数据 |
Note:
界面左下角出现--VISUAL BLOCK--
或--VISUAL--
或--VISUAL LINE--
字样
四、多文件编辑
同时打开多个文件,如: vim hosts man.config
按键 | 作用 |
---|---|
:n | 编辑下一个文件 |
:N | 编辑上一个文件 |
:first | 打开第一个文件 |
:last | 打开最后一个文件 |
:files | 列出目前vim打开的所有文件 |
五、多窗口功能
按键 | 作用 |
---|---|
:sp filename | 打开一个新窗口 有filename: 打开一个新文件 无filename: 两个窗口为同一个文件内容(同步显示) |
[Ctrl] + w + ⬇ | 光标移动到下方的窗口 |
[Ctrl] + w + ⬆ | 光标移动到上方的窗口 |
网友评论