【前言】
Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vi作用:
1.创建或修改文本文件
2.维护linux系统中的各种配置(不需要自己安装)
一、vi编辑器的工作模式
- 命令模式: 启动 vi编辑器 后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作;
- 输入模式: 该模式中主要的操作就是录入文件内容,可以 对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“–INSERT–”的状态提示信息;
- 末行模式: 该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符。
二、模式之间切换
三、命令模式 > 输入模式
a | 在当前光标位置之后插入内容 |
---|
i | 在当前光标位置之前插入内容 |
o | 在光标所在行之下插入一个新行内容 |
A | 在所在行的行尾插入内容 |
I | 在所在行的行首插入内容 |
O | 在光标所在行之上插入一个新行内容 |
四、基本命令操作
翻页操作:
操作键 | 功能 |
---|
Page Down键或 Ctrl + F | 向下翻动一整页内容 |
Page Up键或Ctrl + B | 向上翻动一整页内容 |
行内快速跳转:
操作键 | 功能 |
---|
Home键或^键、数字0键 | 跳转到本行的行首 |
End键或者$键 | 跳转到本行的行尾 |
行间快速跳转:
操作键 | 功能 |
---|
1G或者gg | 转到文件内容的第一行 |
G | 跳转到文件的最后一行 |
#G | 跳转到文件的第#行(#用具体的数字替换) |
M | 跳转到当前页的中间位置 |
L | 本页最后一行 |
H | 本页第一行 |
显示行号
操作键 | 功能 |
---|
:set nu | 在编辑器中显示行号 |
:set nonu | 取消行号 |
删除替换字符
操作键 | 功能 |
---|
x或Delete键 | 删除光标处的单个字符 |
dd | 删除当前光标所在行(有剪切功能) |
#dd | 删除从光标处开始的#行内容 |
d^ | 删除当前光标之前到行首的所有字符 |
d$ | 删除当前光标处到行尾的所有字符 |
dw | 删除当前光标处的整个单词 |
R或Shift+r | 替换当前光标处字符 |
复制
操作键 | 功能 |
---|
yy | 复制当前行整行的内容到剪切板 |
#yy | 复制从光标处开始的#行内容 |
粘贴
操作键 | 功能 |
---|
p | 粘贴到光标所在行之下 |
大写P | 粘贴到光标所在行之上 |
查找
操作键 | 功能 |
---|
/ word | 从当前光标处开始向后进行查找字符串“word” |
?word | 从当前光标处开始向前进行查找字符串“word” |
n | 定位下一个匹配的被查找字符串 |
N | 定位上一个匹配的被查找字符串 |
U | 用于取消对当前行所做的所有编辑 |
保存退出(在末行模式)
操作键 | 功能 |
---|
:w | 保存修改的内容 |
:w | /位置/新文件名 另存为其他文件 |
:q | 退出 |
:q! | 放弃对文件内容的修改并退出 |
ZZ或wq、:x | 保存当前的文件内容并退出vi编辑器 |
打开新文件
读入文件内容
操作键 | 功能 |
---|
:r | 其他文件名 在当前文件中读入其他文件内容 |
文件内容替换
操作键 | 功能 |
---|
:[查找范围]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 | 对每个替换动作进行用户确认 |
复制/剪切/粘贴
操作键 | 功能 |
---|
:5,10 m 15 | 将5-10行的内容剪切到15行下面 |
:5,10 co 15 | 将5-10行的内容复制到15行下面 |