vi编辑器有三种模式:
普通模式:用于对文件进行命令操作,例如查找、替换、删除行等等。
插入模式:用于对文件进行编辑。
可视模式:用于对文件内容进行选取。
无论在任何模式下按【Esc】都可以返回到命令模式。
1、vi
直接输入vi可以查看vi的版本信息
2、vi [文件名]
若存在该文件,则打开存在文件;若不存在,将新建文件名为[文件名]的文件。
3、保存与退出
在“普通模式”中输入以下内容并按【Enter】可以执行不同的操作:
:q! 强制退出
:w 保存
:w [文件名] 另存为
:wq 保存并退出
:x 保存并退出
: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
?[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文件