VI的使用方法

来源:互联网 发布:基佬大乱斗mac版本 编辑:程序博客网 时间:2024/04/27 04:58

就象在线编辑时应该尽量使用Edit工具一样,在Shell下进行程序的编写和修改,推荐使用的工具是
Vi。它是UNIX系统自带的文本编辑器,具有强大的指令编辑功能,能方便快捷的完成文本的编
辑和修改工作。
由于vi编辑器因版本等原因会有所不同,所以以下介绍中如有出入,请参阅相关帮助并实践检验。
Vi编辑器的指令基本在命令模式中输入。

命令模式下有如下指令供使用:(任何时候按Escape键可回到命令模式)
h 将光标左移一格
l 将光标右移一格
j 将光标下移一格
k 将光标上移一格
w  将光标移到下一个小字的前面
W  将光标移到下一个大字的前面
b  将光标移到前一个小字的前面
B  将光标移到前一个大字的前面
e  将光标移到下一个小字的后面
E  将光标移到下一个大字的后面
fc  将光标移到同一行的下一个字符c处
Fc  将光标移到同一行的前一个字符c处
tc  将光标移到同一行的下一个字符c的前一格
Tc  将光标移到同一行的前一个字符c的后一格
number|  将光标移到第number列上
+或者Enter  将光标移到下一行第一个非空白字符处。
- 将光标移到上一行第一个非空白字符处。
0  将光标移到当前行的第一个字符处
$  将光标移到当前行的最后一个字符处
H  将光标移到屏幕最顶端一行
L  将光标移到屏幕最底端一行
M  将光标移到屏幕的中间
z-  把当前行作为屏幕的最后一行,刷新屏幕
z.  把当前行作为屏幕的中间一行,刷新屏幕
Ctrl+l  重新显示屏幕当前内容
Ctrl+f 向后滚一页
Ctrl+d  向后滚半页
Ctrl+b  向前滚一页
Ctrl+u  向前滚半页
Ctrl+e  屏幕向下滚一行
Ctrl+y  屏幕向上滚一行
/pattern  向后寻找指定字符串pattern
?pattern  向前寻找指定字符串pattern
n  在上次指定的方向上,再次查找
N  在上次指定的方向的反方向上,再次查找
%  移到匹配的“()”或者“{}”上
a  光标移到所在处之后,进入文本输入状态
A  光标移到行尾,进入文本输入状态
i  在光标所在处,进入文本输入状态
I  光标移到行首第一个非空白的字符处,进入文本输入状态
o  在光标所在行后插入一空行,进入文本输入状态
O  在光标所在行前插入一空行,进入文本输入状态
cc或者S  将当前一行清空,进入文本输入状态,覆盖方式
C  改变本行光标以后的文字,进入文本输入状态,覆盖方式
cw  改变光标所在位置的单词,进入文本输入状态,覆盖方式
dd  删除当前行,后续行自动上移
D  删除光标所在行光标以后的文字
Dw  删除光标所在单词
J  把下一行内容加到本行行尾
rc  把光标处字符替换成c
R  覆盖本行内容,本行编辑模式变为改写模式
u  恢复上一次的修改
x  删除光标所在处字符
X  删除光标左侧字符
~  改变光标所在处字符的大小写
.  重复上一次操作
<<  当前行左移一个Tab
>>  当前行右移一个Tab
yy或者Y  把当前行放入缓冲区
yw  将光标所在单词放入缓冲区
p  将缓冲区内容放入光标所在行的下面
P  将缓冲区内容放入光标所在行的上面
:w  回写修改后的文件
:w filename  当filename不存在,写成filename,否则报错
:w! filename  filename存在也直接写成filename
:n  开始编辑vi激活的文件列表中的下一个文件
:n filename  开始编辑指定的文件filename
:e filename  使用filename激活vi,在vi中装入另外一个文件filename
:e!  重新装入当前文件,丢弃一切未保存的改动
:r filename  读取filename的内容,加在光标处
:r! command  执行command文件,将其输出加在光标处
Ctrl+g  取得正在编辑的文件的有关信息
:sh  起动sh,从sh中返回可以用exit或者Ctrl-d
:! command  执行command指令
:!!  重新执行上次的! command指令
:q  退出vi,如果用户未将修改保存,不能退出
:q!  退出vi,不管是否有未保存的修改
:wq或者:x  退出vi并保存修改