vi 编辑器
创建或修改文本文件
维护linux系统中的各种配置文件
三种常见模式:
-
命令或普通(Normal)模式:默认模式,可以实现移动光标,剪切/粘贴文本
-
插入(Insert)或编辑模式:用于修改文本
-
扩展命令(extended command )或末行模式:保存,退出等搜索替代
输入模式基本命令
快捷键 |
功能描述 |
作用 |
i |
在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
在光标位置之后输入 |
I |
行首插入命令 |
行首输入 |
o |
在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
光标位置下一行输入 |
O |
在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
光标位置上一行输入 |
a |
在当前光标所在位置之后插入随后输入的文本 |
光标位置之后输入 |
A |
行尾插入命令 |
行尾输入 |
补充: 替换字符 R 或 Shift+r 替换当前光标处字符‘
命令模式基本命令
命令基本操作
操作键 |
功能 |
ctrl+f或者Pagedown |
向下翻页 |
ctrl+b或者Pageup |
向上翻页 |
Home;^;0 |
跳到本行的行首 |
按 End 键或$ |
跳转到本行的行尾 |
1G 或 gg |
跳转到文件的第一行包括空行 |
G |
跳转文件的末尾 |
#G |
#代表行号数字,直接跳转到#行 |
M |
跳转到当前显示页面的中间行 |
命令模式复制、剪切、粘贴
dd |
删除一整行 |
#dd |
删除当前光标开始到第#行(包括当前行) |
d^ |
删除当前光标之前到行首 往前不包括当前光标处的字符 |
d$ |
删除当前光标到行尾 |
yy |
复制当前光标处整行 |
#yy |
复制当前光标处向下的#行 |
p |
粘贴到光标处下一行 |
P |
粘贴到光标处上一行 |
命令模式的文件内容查找
操作键 |
功能 |
/word |
从上而下在文件中查找字符串“word” |
?word |
从下而上在文件中查找字符串“word” |
n |
定位下一个匹配的被查找的字符串 |
N |
定位上一个匹配的被查找的字符串 |
撤销编辑及保存退出
操作键 |
功能 |
u |
按一次取消最近的一次操作,重复u键,恢复多部操作 |
U |
用于取消对当前行所作的编辑 |
ZZ |
保存当前的文件内容并退出vi编辑器 |
末行模式的基本操作
快捷键 |
功能效果 |
:q |
退出不保存 |
:q! |
强制退出不保存 |
:w |
保存 |
:w 新文件名 |
另存为新文件: |
:wq :zz :x |
保存并退出 |
:e 其他文件名(如果已修改需要加e!) |
打开新文件进行编辑 |
: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 |
在替换命令末尾加入c命令,将对每一个替换动作提示用户进行确认 |