文书编辑器介绍 [VI]
vi ( m ) 在大多数的 unix 系统中 ( 包括 linux ) 都内建 vi ( m )
编辑器。如果您即将成为 linux 系统管理者,或是长时间在 linux 环境中工作,您最好学会 vi ( m
),因为您迟早会使用到它,由其是系统出状况时。对新手而言,第一次使用 vi ( m )
的过程是非常痛苦的,甚至讨厌它,因为它的使用方式与一般辑编器完全不同。但是,一但您学会如何操作它时,您会对它爱不释手,因为它的功能实在太强了。
vi ( m ) 就是这样,让人又爱又恨。
事实上 linux 系统中的 vi 其实是 vim。vi 与 vim 的用法很像,因为它是 vi 的增强版,因此 vi 有什麽功能 vim 都有,而且 vim 新增许多 vi 没有的功能,而且比 vi 容易使用。
7.4.1 vi ( m ) 的叁种模式简介
一般模式
在一般模式下,您所能进行的动作只有移动游标屏幕上的位置,标记、删除、搬移、复制字符或文字区块。此外您可以由命令模式进人输入模式虽命令列模式。
输入模式
只有在输入模式下,才可进行文字资料输入,按 ESC 键可以回到一般模式。
命令列模式
将文件写入或离开编辑器,亦可设定编辑环境,如寻找字串、列出行号等。
7.4.2 vi ( m ) 的基本操作
进人 vi
在系统提示符号下输入 vi 及文件名称后即进入 vi 全屏幕编辑画面,且在一般模式下。输入模式下编辑文件:在一般模式下可按 'i' 或 'a' 或 'o' 叁键进入编辑模式。
"i" insert - 在目前游标之处插入所要输入之文字
"a" append - 在目前游标所在的下一行开始输入文字
"o" open - 新增一行在游标的下,并从行首开始输人文字
离开 vi 及保存
在一般模式下可按 ':' 键进人命令列模式:
:w filename ( 存入指定文件 )
:wq ( 写入并离开 vi )
:q! ( 强迫离开并放弃编辑的文件 )
:n [ 文件 ] - 引入下一个文件
:l,l2d - 删除自行l至行 l2 的文字
:l,l2s/patternl/pattern2/g - 将行 l 至行 l2 的文字, patternl 的字串改为 pattern2 的字串,如无 g 则仅更换每一行所匹配的第一个字串,如有 g 则将每一个字串均做更换
7.4.3 一般模式功能键简介
移动游标
h、j、k、l:分别控制游标左、下、土、右移一格
Ctrl+b : 往前一页
Ctrl+f : 往后一页
G : 移到文件最后
w : 移到下个 word 的开头
b : 跳至上个 wore 的开头
删除
x:删除所在后面一个字符
#x:ex:5x 表删除 5 个字符
dd:删除游标所在之行
#dd:例,5dd 表删除自游标算起之 5 行
更改
cw:更改游标处之字到此一单字之字尾处
c#w:例,c3w表更改 3 个字
取代
r:取代游标处之字符
R:取代字符直到按 ESC 为止
复制
yw:拷贝游标处之字到字尾至缓冲区
P:把缓冲区之资料贴上来
yy:拷贝游标所在之行至缓冲区
#yy:ex:5yy,拷贝游标所在之处以下 5 行至缓冲区
复原
u:undo,复原至上一动作
跳至指定之行
g:列出行号,及相关信息
7.4.4 命令列下命令简介
注意:使用前请先按 ESC 键确定在一般模式下按 ':' 或 '/' 或 '?' 叁键即可进入命令列模式
列出行号
:set nu
寻找字串
/word ( 由首至尾寻找 ),按 n 可往下继续找
?word ( 由尾至首寻找 ),按 N 可往前继续找
跳行
:100 - 可跳至第 100 行