http://blog.chinaunix.net/uid/16979052.html
全部博文(286)
分类: LINUX
2013-03-25 08:38:54
Vi编辑器有三种模式:
命令模式:vi进入时所处的模式
文本输入模式:在此模式下可以编辑文本
命令项模式:在此模式下可以输入各种子命令,对文本进行操作,如删除等
以下列表提供vi基本命令的一个参考文档:
命令 含义
starting vi
vi filename 打开或创建文件
vi 打开新文件以后再命名
vi -r filename 恢复被毁坏的文件
view filename 打开文件只读
命令模式下命令:
h 向左移动一个字符
j 向下移动一行
k 向上移动一行
l 向右移动一个字符
w 向右移动一个词
W 向右移动一个词(跳过标点符合)
b 向左移动一个词
B 向左移动一个词(跳过标点符合)
e 移动到当前词的结尾
E 移动到前一个大字的结尾
fc 把光标移到同一行的下一个c字符处
Fc 把光标移到同一行的前一个c字符处
tc 把光标移到同一行的下一个c字符前一格
Tc 把光标移到同一行的下一个c字符后一格
Number| 将光标移动到第number列上
H 移动到屏幕顶部一行
L 移动到屏幕底部一行
M 移动到屏幕中间
把光标移动到第一个字符处
$ 把光标移动到最后一个字符处
+或Enter 把光标移动到下一行第一个非空白字符
- 把光标移动至上一行第一个非空白字符
下面是命令模式下改变屏幕显示的命令
z- 把当前行做为屏幕的最后一行,并重新显示屏幕
z. 把当前行作为屏幕的中间一行,并重新显示屏幕
Ctrl+l 重新显示屏幕当前内容
/pattern/z- 寻找pattern的下一个位置,并把所在行设为屏幕的最后一行
:r filename 在光标之后插入读取的文件
:34 r filename 在34行之后插入读取的文件
命令模式下显示页面命令
Ctrl+f 向后滚一页
Ctrl+d 向后滚半页
Ctrl+b 向前滚一页
Ctrl+u 向前滚半页
Ctrl+e 屏幕向下滚一行
Ctrl+y 屏幕向上滚一行
查找字符串的命令
/pattern 向后寻找指定的pattern,如遇到文件尾,则从头再开始
?pattern 向前寻找指定的pattern,如遇到文件头,则从尾再开始
n 在上次指定的方向上,再次执行上次定义的查找
N 在上次指定的方向的相反方向湖上,再次执行上次定义的查找
/pattern/+number 将光标停在包含pattern的行后面第number行上
/pattern/-number 将光标停在包含pattern的行前面第number行上
:g/serch/s//replace/g 查找并替换
输入文本的子命令
a 在光标之后开始输入文本
A 在行尾开始输入文本
i 在光标之前开始输入文本
I 在行首第一个非空白字符前输入文本
o 在光标所在行后插入一空行
O 在光标所在行前插入一空行
改变文本的命令:
cc或S 修改一整行
C 改变一行光标位置以后的部分
cw 修改光标所在单词
J 把下一行内容加到本行行尾
rc 把光标所在字符替换成c
R 覆盖本行内容
u 恢复上一次的修改
U 撤销对当前行所做的所以修改
:u 撤销前一个最后行命令
xp 将光标处字符与其右面字符颠倒
~ 改变光标所在处字符的大小写
。 重复上一次动作
<< 把当前行移到左边
>> 把当前行移到右边
删除文本命令:
x 删除光标所在的字符
X 删除光标左侧字符的大小写
dw 删除光标所在单词
dd 删除当前行
D 删除光标所在行光标后面的内容
dG 删除到文件结尾
d1G 从文件开头删除到光标处
:5,10 d 删除5-10行
复制和移动文本命令:
yy 复制行
Y 复制行
p 在当前行下面放置被复制或删除的行
P 在当前行上面放置被复制或删除的行
:1,2 co 3 复制行1-2并放置到行3之后
:4,5 m 6 移动行4-5并放置到行6之后
设置行号:
:set nu 显示行号
:set nonu 隐藏行号
设置区分大小写:
:set ic 查找忽略大小写
:set noic 查找区分大小写
保存和退出文件:
:w 保存更改
:w filename 写入命名的文件
:wq 保存更改并退出vi
ZZ 保存更改并退出vi
:q! 退出但不保存更改
:x 保存更改并退出vi
其他一些命令:
Ctrl+g 取得正在编辑文档的相关信息
:sh 启动sh,从sh返回可以用exit或ctrl+d
:!Command 执行命令command