vi编辑器的作用
创建或修改文本文件
维护linux系统中的各种配置文件
linux中最常用的文本编辑器
linux中最常用的文本编辑器
vi:unlx操作系统默认的文本编辑器
vim:vim是vi文本编辑器(一般简称vi编辑器)的增强版本
vi编辑器的工作模式
命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。
输入模式:正常的文本录入。
末行模式:保存或退出文档,以及设置编辑环境。
需要注意的是,输入模式与末行模式之间是不能直接切换的。
命令模式切换到输入模式
a --当前光标位置之后插入内容
i --当前光标位置之前插入内容
o --在光标所在行的下一行插入一个新内容
O --在光标所在行的上一行插入一个新内容
A --在所在行的行尾插入内容
I --在所在行的行首插入内容
命令模式
操作类型 | 操作键 | 功能 |
---|---|---|
翻页移动 | Page Down键或 ctrl+E | 向下翻动一整页内容 |
Page Up或 Ctrl+B | 向上翻动一整页内容 | |
行内快速跳转 | Home键或^键、数字0键 | 跳转到本行的行首 |
End键或者$键 | 跳转到本行的行尾 | |
行问快速跳转 | 1G或者gg | 转到文件内容的第一行 |
G | 跳转到文件内容的最后一行 | |
#G | 跳转到文件的第#行(#用具体的数字替换) | |
M | 跳转到当前页的中间位置 | |
删除 | x或Delete键 | 删除光标处的单个字符 |
dd | 删除光标所在行(有剪切功能) | |
#dd | 删除光标开始的#行内容 | |
d^ | 删除当前光标之前到行首的所有字符 | |
d$ | 删除当前光标处到行尾的所有字符 | |
dw | 删除当前光标处的整个单词 | |
替换字符 | R或Shift+r | 替换当前光标处字符 |
复制 | yy | 复制当前行整行的内容到剪切板 |
#yy | 复制当前光标处开始#行内容到剪切板 | |
粘贴 | p | 粘贴到光标所在行之下 |
P | 粘贴到光标所在行之上 | |
查找 | /word | 从当前光标处开始向后进行查找字符串“word” |
?word | 从当前光标处开始向前进行查找字符串“word” | |
n | 定位下一个匹配的被查找字符串 | |
N | 定位上一个匹配的被查找字符串 | |
撤销 | u | 撤销上次命令(可一直点回到最初未改动状态) |
U | 未对其他行进行修改默认撤回当前行所有编辑,对其他行进行修改只会撤回上一次操作的所在行 |
末行模式中可用的命令
操作类型 | 操作键 | 功能 |
---|---|---|
显示行号 | :set nu | 在编辑器中显示行号 |
:set nonu | 取消行号显示 | |
保存退出 | :w | 保存修改内容 |
:q | 退出修改内容不保存 | |
:q! | 强制退出 | |
:w /位置/新文件名 | 强制退出 | |
ZZ :wq :x | 保存并退出 | |
打开新文件 | :e+其他文件名 | 在编辑器里面在此打开一个新文件进行编辑 |
导入文件内容 | :r+其他文件名 | 在当前文件中进行其他文件内容的导入 |
文件内容替换 | :s /old/new | 替换当前所在行第一个字符“old”为“new” |
:s old/new/g | 替换当前所在行所有字符“old”为“new" | |
:#,# s/old/ | 将#,#行中找到的所有的字符进行替换 | |
:% s/old/new/g | 将全文中所有查找到的字符进行替换 | |
:s old/new/c | 对每个替换进行用户确认 | |
剪切并粘贴 | :5,10 m 15 | 将5-10行的内容剪切到15行下面 |
复制并粘贴 | :5,10 co 15 | 将5-10行的内容复制到15行下面 |
补充一点
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到末行命令模式,以在最底一行输入命令。