1 简介
vi编译器是所有linux系统的标准编译器,用于编译任何的ASCLL文本,可以对文本进行创建、查找、删除、复制和粘贴等功能。
2 vi编译器的工作模式
2.1 命令行模式
控制光标移动,字符、字、或行的删除,复制某区域以及进入插入模式,或者到末行模式
2.1.1 进入插入模式
i: 在当前光标位置前进入插入模式,输入的内容会插入到光标所在位置的前面。
a: 在当前光标位置后进入插入模式,输入的内容会插入到光标所在位置的后面。
I: 将光标移动到当前行的行首并进入插入模式。
A: 将光标移动到当前行的行尾并进入插入模式。
o: 在当前行的下方插入一个新行并进入插入模式。
O: 在当前行的上方插入一个新行并进入插入模式。
s: 删除当前光标位置的字符并进入插入模式。
2.1.2 从插入模式回到命令行模式
直接ESC
2.1.3 移动光标
h 向左移动一个字符
j 向下移动一行
k 向上移动一行
l 向右移动一个字符
w 跳到下一个单词开头
b 跳到上一个单词开头
e 跳到当前单词末尾
0 跳到行首
^ 跳到行首第一个非空白字符
$ 跳到行尾
Ctrl + f 向下翻页
Ctrl + b 向上翻页
Ctrl + d 向下半页
Ctrl + u 向上半页
gg 跳到文件第一行
G 跳到文件最后一行
:n 跳到第n行(如:10跳转第10行)
/pattern 向下搜索pattern
?pattern 向上搜索pattern
n 重复上一次搜索
N 反向重复上一次搜索
2.1.4 删除文字、复制、剪切、粘贴、撤销
x:
删除单个字符:将光标移动到要删除的字符上
dd:
删除整行:将光标移动到目标行
yy:
复制整行:将光标移动到目标行
dd:
剪切整行:将光标移动到目标行(删除操作实际上会剪切内容到缓冲区)
p:
粘贴到光标后
u:
撤销上一次操作
2.2 插入模式
只有在插入模式下才可以做文本输入,按ESC键可回到命令行模式
2.3 末行模式
将文本保存或退出vi编辑器,也可以设置编辑环境,如寻找字符串、列出行号等。在命令行模式下按“:”即可进入末行模式。下面是常用的vi命令。
2.3.1 保存与退出
w
:保存当前文件
wq:
保存并退出
q
:退出(未修改时)
q!
:强制退出(放弃修改)
2.3.2 文件操作
w <filename>
:另存为新文件
e <filename>
:打开新文件编辑
r <filename>
:读取文件内容插入当前光标位置
2.3.3 行号操作
set nu
:显示行号
set nonu
:隐藏行号
<n>
跳转到第 n
行(如 :10
跳转到第 10 行)
2.3.4 搜索与替换
/<pattern>:
向下搜索字符串(如 /hello
)
?<pattern>:
向上搜索字符串
%s/<old>/<new>/g
:
全局替换(如 :%s/foo/bar/g
)
s/<old>/<new>/:
替换当前行第一个匹配
s/<old>/<new>/g
:
替换当前行所有匹配
2.3.5 其他实用指令
set ic
:
搜索时忽略大小写
set noic
:
关闭忽略大小写
help <command>
:
查看指令帮助(如 :help wq
)
3 vi基本操作
3.1进入vi
#vi 文件名称
如果文件存在则进入编辑,如果不存在文件则要创建文件
3.2进入插入模式编辑文件,按字母“i”
3.3退出vi及保存文件
进入末行模式,按(:)冒号;“wq”保存并退出;“q!”不保存强制退出。