Linux操作系统之vi编辑器(二)

1.vi进入及设置
进入vi编辑器 vi file1(file1可以是已经存在的文件,也可以是新建的文件)
从编辑模式进入命令模式 Esc
设置编辑器自动对齐 :set ai
取消编辑器自动对齐 :set noai
同时编辑多个文件 :%vi file1 file2 file3 …
恢复中断前的档案内容 :%vi r file1
2.退出命令模式下操作
i 在当前字符前添加文本
I 在行首插入文本
a 在当前字符后添加文本
A 在行末添加文本
o 在当前行后面插入一空行
O 在当前行前面插入一空行
Ctrl + u 向文件首翻半页
Ctrl + d 向文件末翻半页
Ctrl + b 向文件首翻一页
Ctrl + f 向文件末翻一页
Ctrl + y 向上翻一行
Ctrl + e 向下翻一行
ZZ 存盘退出
X 删除光标前的字符
x 删除当前光标所在的字符
D 删除从当前光标到光标所在行尾的全部字符
dd 删除光标行整行内容(并将它放到与yy相同的内存缓存区)
ndd 删除当前光标行及该行之后的n-1行
yy 将当前行复制到缓存区
nyy 将当前行到当前行之后的n-1行复制到缓存区
cc 修改整行
ncc 修改当前行及当前行之后的n-1行
p 将缓存区的内容复制到当前行之后(小写p)
P 将缓存区的内容复制到当前行之前(大写P)
gg 跳转到第一行
G或shift + g 跳转到最后一行
nG 跳转到文件的第n行
0或^ 移动到光标所在行的行首
h 左移
l 右移
k 上移
j 下移
$ 移至行尾
H 移至视窗第一列
M 移至视窗中间列
L 移至视窗最后一列
+ 移至下一行的第一个字符
- 移至上一行的第一个字符
( 移至句首
) 移至句末
{ 移至段首
} 移至段末
n+ 移至当前行之后的第n行
n- 移至当前行之前的第n行
Ctrl + g 显示当前的文件名、光标所在行的行号以及显示比例
e 由光标位置移至该字符串的最后一个字符
b 由光标所在位置移至该字符串的第一个字符(若光标本身是第一个字符,则移到上一个字 符串的第一个字符)
w 由光标位置移至下一个字符串的第一个字符
D 删除当前行光标之后的所有字符
rn 将光标所在的字符用n替换
s 删除光标所在之字符,并进入编辑模式
S 删除光标所在行所有字符,并进入编辑模式
nj 光标下移n行
u 恢复到最后一个指令之前的结果
U 恢复游标所在行的所有改变
/字符串 从当前光标位置到文件尾部查找字符串
?字符串 从当前光标位置到文件首部查找字符串
n 对上一个查找命令,执行继续往下查找
N 对上一个查找命令,执行继续往上查找
J 将光标所在行的下一行移至该行的末尾

3.命令模式下操作
:wq 在命令模式下执行存盘退出
:w 在命令模式下执行存盘操作
:w! 在命令模式下执行强制存盘操作
:q 在命令模式下执行推迟vi操作
:q! 在命令模式下执行强制推迟vi操作
:e 文件名 在命令模式下执行打开并编辑指定文件
:n 在命令模式下,如果同时打开多个文件,则继续编辑下一个文件
:f 在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例
:set number 在命令模式下,用于在最左端显示行号(:set nu)
:set nonumber 在命令模式下,用于在最左端不显示行号(:set nonu)
:行号 在命令模式下,光标跳转到指定行的行首
:$ 在命令模式下,光标跳转到最后一行的行首
:a,bs/x/y 在命令模式下,将a到b行的x换成y
:0或:1 在命令模式下跳转到第一行
:10,20w test 将第10行到第20行的内容写入到test文件
:10,20w >>test 将第10行到第20行的内容写入到test文件之后
:r file1 将file1文件读入编辑缓冲区的最后
:10,20d 删除第10行到第20行的内容
:10d 删除第10行的内容
:%d 删除整个编辑缓冲区
:10,20co30 将第10到第20行的内容复制到第30行之后
:10,20mo30 将第10行到第20行的内容搬移到第30行之后

猜你喜欢

转载自blog.csdn.net/clearhlj/article/details/81870278