0.前言
本篇说明vi命令模式下可执行的命令。
所有要输入的指令皆用蓝色表示。
对于初学者来说,这个部分有点复杂了。
不过呢?以泡泡的经验来说,用久了你自然会记住某些指令。
不用刻意去记,因为常用的自然会在不知不觉中记住。
(极有可能像我一样,手指记住了,脑袋记不住..QQ)
注: <control+A> 表示先按住ctrl键再按A。(有些命令小写也可以用)
我都是用小写。
1.常用移动命令:
<control+A> 往下移动到这个字下次一出现的地方。
<control+B> 光标向上移动一个屏幕。
<control+D> 光标往下移动数行(约12行)。
<control+F> 光标往下移动一个屏幕。
<control+U> 光标往上移动数行(约12行)。
$ 将光标移动到该行尾.
nG 移动到某行,n为行数,若没有指定则为档案的最后一行.
L 将光标移动到屏幕的最下一行.
^ 移到该行第一个非空格符.
2.常用档案命令
<control+G> 显示档案的信息。
显示出目前档案是否更改,所在行的位置.
file_name: unmodified : line 1 of 380 [0%]
<control+L> 重画屏幕。
<control+Z> 暂停编辑 回到shell,可用fg回到编辑画面
<control+^> 切换到最近编辑的档案.
vi file_name file_name2
用此命命可以在两个档案中切换.
3.常用编辑命令
输入:
I 移动光标道行首的第一个字符并开始接受输入.
复制:
Y 复制该行到暂存区(用yy也可以)
删除:
D 从光标目前位置道行尾的所有字符删除..(用dd也可以)
x 删除光标所在位置的一个字符
取代:
!shell命令 !后接shell comd ,并以shell cmd 执行结果取代光标该行.
如!panda
会用以下讯息取代原有行的内容
bash: panda: command not found
r 按r后接着按某字符,以取代光标所在的该字符.
~ 切换光标所在字符的大小写
重复:
n 搜寻之前所搜寻过的字符串 (用/也可以)
若先执行 /BSD
再执行 n 等同于执行 /BSD
若先前没有搜寻任何东西 会有如下讯息
No previous search pattern.
复原:
U 恢复状态到光标起初接触此行的状态
u 复原前一个动作产生的效果(也就是回复)
其它:
: 执行ex 命令
J 将下一行与此行合并.
◎参考数据: vi (1)