About vi
vi编辑器学习
vi编辑器有三种模式:命令模式、输入模式和末行模式。无论在任何模式下按【Esc】都可以返回到命令模式。
1、vi
直接输入vi可以查看vi的版本信息
2、vi [文件名]
若存在该文件,则打开存在文件;若不存在,将新建文件名为[文件名]的文件。
3、保存与退出
在“末行命令”中输入以下内容并按【Enter】可以执行不同的操作:
:q! 强制退出
:w 保存
:w [文件名] 另存为
:wq 保存并退出
:wq! 保存并强制退出
4、光标移动(命令模式)
在“命令模式”中除了光标可以移动光标之外,还可以使用以下命令
k 上
j 下
h 左
l 右
^ 移动到行首
$ 移动到行尾
[第n行]G 跳转到第n行
G 跳转到首行
5、翻页(命令模式)
Ctrl+F 向前翻一页
Ctrl+B 向后翻一页
Ctrl+U 向前翻半页
Ctrl+D 向后翻半页
6、显示行号(末行模式)
set nu 显示行号
set nonu 取消行号
7、编辑模式(命令模式)
a 附加命令
i 插入命令
o 打开命令
c 修改命令
r 取代命令
s 替换命令
Esc 退出命令
8、光标移动(输入模式)
Home 行首
End 行尾
Page Up 向前翻页
Page Down 向后翻页
Delete 删除光标位置的字符
9、删除操作(命令模式)
x 删除光标位置的字符
dd 删除光标所在行
dw 删除当前字符到单词尾包括空格的所有字符
10、撤消操作(命令模式)
u 取消最近一次操作
U 取消所有操作
Ctrl+R 恢复对u命令的操作
11、复制操作(命令模式)
[n,m]y 复制第n行到第m行
[n]yy 复制n行,若无行数,只复制当前行
[n]yw 复制n个单词,若无行数,只复制光标到单词尾
y$ 复制光标到行尾
y^ 复制光标到行首
12、查找和替换(末行)
/[key] 从光标位置开始查找key
:s/old/new 用new替换首次出现的old
:s/old/new/g 用new替换行中出现的所有old
:[n,m] s/old/new/g 用new替换第n行到第m行中出现的old
: % s/old/new/g 用new替换所有的old
:s/old/new/c 用new替换首次出现的old,用户需要确认。[/c]适用上面所有命令
13、恢复文件
文件在编辑中会产生一个临时文件,文件以.开头并以.swp结尾。在异常退出的时候,系统在下一次编辑的时候会提示命令处理。
O 只读打开
E 继续编辑,不恢复.swp文件
R 恢复文件,继续编辑
Q 退出vi
D 删除.swp文件
vi -i [文件名] 恢复.swp文件