vi编辑器
Posted pingfandfy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vi编辑器相关的知识,希望对你有一定的参考价值。
vi编辑器
一、vi编辑器中有三种状态模式
1、命令模式
2、输入模式
3、末行模式
二、vi编辑器的启动与退出
1、直接进入编辑环境
$ vi
2、进入编译环境并打开或新建文件
$ vi myfile
3、退出vi编辑环境(输入末行命令放弃对文件的修改,并推出编辑器)
$ q!
三、vi中的文件操作
1、打开新文件
打开新的文件到vi编辑器中
: e filename
打开新的文件到vi编辑器中,并放弃对当前文件的修改
: e! filename
2、读取文件内容到当前vi编辑器中
: r filename
3、保存文件
保存对vi编辑器中已打开文件的修改
:w
4、另存为文件
将vi编辑器中的内容另存为指定文件名
: w myfile
5、未修改退出
没有对vi编辑器中打开的文件进行修改,或一对修改进行了保存,直接退出vi编辑器。
:q
6、保存并推出
对vi编辑器中的文件进行保存并推出vi编辑器
: wq
7、不保存退出
放弃对文件内容的修改,并推出vi编辑器
: q!
光标移动和翻页操作
操作类型 光标操作键 功能
光标移动 h 向左移动光标
l 向右移动光标
k 向上移动光标
j 向下移动光标
翻页 Ctrl+f 向前翻整页
Ctrl+b 向后翻整页
Ctrl+u 向前翻半页
Ctrl+d 向后翻半页
行内快速跳转
操作键 功能
^ 将光标快速跳转至本行的行首字符
$ 将光标快速跳转至本行的行尾字符
w 将光标快速跳转至当前光标所在位置的后一个单词的首字母
b 将光标快速跳转至当前光标所在位置的前一个单词的首字母
e 将光标快速跳转至当前光标所在位置的后一个单词的为字母
文件内行间快速跳转
命令 功能
:set nu 在编辑器中显示行号
:set nonu 取消编辑器中的行号显示
1G 跳转到文件的首行(命令模式下)
G 跳转到文件的末尾行(命令模式下)
nG 跳转到文件中的第n行(命令模式下)
进入输入模式
命令 功能
i 在当前光标进入插入模式
a 在当前光标后一个字符位置进行插入状态
A 将光标移动到当前行的行末,并进入插入状态
o 在当前行的下面插入新行,光标移动到新行的行首,进入插入状态
O 在当前行的上面插入新行,光标移动到新行的行首,进入插入状态
cw 删除当前光标到所在单词尾部的字符,并进入插入状态
c$ 删除当前光标到行尾的字符,并进入插入状态
c^ 命令删除当前光标之前(不包括光标上的字符)到首行的字符,并进入插入状态
输入模式的编辑键操作
按键 功能
方向键 进行上下左右方向的光标移动
Home 快速定位光标到行首
End 快速定位光标到行尾
PageUp 进行文本的向上翻页
PageDown 进行文本的向下翻页
Del 删除光标位置的字符
Backspace 删除光标左侧的字符
删除操作
命令 功能
x 删除光标处的单个字符
dd 删除光标所在行
ddn 从光标所在行开始向下删除n行
dw 删除当前字符到单词尾(包括空格)的所有字符
de 删除当前字符到单词尾(不包括单词尾部的空格)的所有字符
d$ 删除当前字符到行尾的所有字符
d^ 删除当前字符到行首的所有字符
撤销操作
命令 功能
u 取消最近一次的操作,并恢复操作结果,可以多次使用u命令回复已进行的多步操作
U 取消多当前行进行的所有操作
ctrl+r 对使用u明令撤销的操作进行恢复
复制与粘贴操作
命令 功能
yy 复制当前行整行的内容到vi缓冲区
yny or nyy 复制从当前行开始的n行内容到vi缓冲区
yw 复制当前光标到单词尾字符的内容到vi缓冲区
y$ 复制当前光标到行尾的内容到vi缓冲区
y^ 复制当前光标到行首的内容到vi缓冲区
p 读取vi缓冲区的内容,并粘贴到光标当前的位置
字符串查找操作
命令 功能
/word 从上而下在文件中查找字符串”word“
?word 从下而上在文件中查找字符串”word“
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
字符串替换操作
命令 功能
: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命令,将对每个替换动作提示用户进行确认
以上是关于vi编辑器的主要内容,如果未能解决你的问题,请参考以下文章