BBS水木清华站∶精华区
┌—————————┐
│ VI 简易操作说明 │
└—————————┘
壹、什麽是 vi
vi 是一个 Unix 本身提供的萤幕编辑器, 它提供了一个视窗设备,
透过它可以编辑档案。
贰、环境说明
本文□例之操作基台为 sun1cc, 自开放系统室的 pc10 连线操作。
参、操作内容
注 : 文字下方有 "------" 者, 表示使用者需自行输入该指令。
一、vi 概念简介
vi 可分为三种状态:
1.Command mode : 控制萤幕游标之移动,
字元或游标之删除,
搬移复制某区段,
进入 Insert mode 下,
到 Last line mode 。
2.Insert mode : 唯有在 Insert mode 下, 才可做文字资料输入,
按 <ESC>键可到 Command mode 。
3.Last line mode : 将档案写入或离开编辑器,
亦可设定编辑环境, 如寻找字串、列出行号..等。
二、vi 的基本操作
1. 进入 vi
在系统提示符号下输入 vi 及档案名称後即进入 vi 全萤幕编辑画面,
且在 Command mode 下。
sun1cc% vi testfile
-----------
2. 切换至 Insert mode 编辑文件:
在 Command mode 下可按 'i' 或 'a' 或 'o' 三键进入 Insert mode。
在 Insert mode 下,只能做 '移动游标' 及 'insert' 两种动作。可以删
除字元,但只能删在这次在 Insert mode 中插入的字。
也就是说,在这次 Insert mode 中所插入的字,只能在这次删改;否则一
旦回到 Command mode,下次再进 Insert mode 时,就不能改那些字了;要删改
就只能回到 Command mode 删改了。
3. 离开 vi 及存档:
在 Command mode 下按 'ZZ' 键存档离开。
或在 Command mode 下按 ':' 键进入 Last line mode, 然後
:w filename (存入指定档案)
----------
:wq (写入并离开 vi)
--
:q! (离开并放弃编辑的档案)
--
三、Command mode 下功能键简介 (注:若指令下了一半,可用 ESC 键取消)
1. 进入 Insert mode
i : 插入, 从目前游标所在之处插入所输入之文字。
a : 增加, 目前游标所在之下一个字开始输入文字。
o : 从新的一行行首开始输入文字。
2. 移动游标
h、j、k、l : 分别控制游标左、下、上、右移一格。
^b : 往後一页。(Back)
^f : 往前一页。(Fore)
^d : 往後半页。
^u : 往前半页。
G : 跳到档案最後。(Go)
#G : 跳到第 # 行。(Go to line #) 例, 44G 表移动游标至第 44 行。
$ : 跳到该行行尾。
0 : 跳到该行开头。
^ : 跳到该行第一个非空白的字元。
#| : 跳到该行的第 # 个字。 例, 5| 表移动游标至第 5 个字。
H : 移动游标到画面的最上方 (Highest)
M : 移动游标到画面的中间 (Middle)
L : 移动游标到画面的最下方 (Lowest)
z<Enter> : 将游标所在之行移到画面最上方
z. : 将游标所在之行移到画面正中央
z- : 将游标所在之行移到画面最下方
{ : 跳到上一段的开头。
} : 跳到下一段的的开头。
( : 跳到这个句子的开头。
) : 跳到下一个句子的开头。
W : 跳到下个word的开头。
E : 跳到下个word的字尾。
B : 回到上个word的开头。
3. 书签 (可以在档案□做些标记,以便待会可以再随时返回被标记的位置)
m char : 把这一行标示为 char。 例, ma 表示把这行标记为 a。
' char : 跳到被标为 char 的那一行。 例, 'a 表示跳到标记为 a 的那行。
'' : 跳回刚才跳过来的地方(可以在两个书签之间来回的切换)。
4. 搜寻
f char : 寻找该行中下一个 char 字元(Find)。例, fk 表寻找该行中的下一个 k
F char : 寻找该行中前一个 char 字元。
; : 重覆上一个 f 或 F 的动作。
, : 反向重覆上一个 f 或 F 的动作。
/string : 向後寻找 string 这个字串。
?string : 往前寻找 string 这个字串。
n : 重覆上一个 / 或 ? 的指令。
N : 反向重覆上一个 / 或 ? 的指令。
5. 删除
x : 删除一个字元。
#x : 例, 3x 表删除 3 个字元。
dd : 删除游标所在之行。
#dd : 例, 3dd 表删除自游标算起之 3 行。
6. 更改
cw : 更改自游标处开始一直到行尾 $ 处的所有字。
c#w : 例, c3w 表更改自游标处开始的 3 个字。
7. 取代
r : 取代游标处之字元。
R : 取代字元直到按 <ESC> 为止。
8. 复制
yw : 拷贝游标处之字到字尾。
p : 复制(put)到所要之处。
(指令 'yw' 与 'p' 必须搭配使用。)
9. 显示相关状态、讯息
^g : 列出行号
10.与程式设计相关的功能
% : 寻找有无对应的 () {} 或 []
[[ : 跳往上一个函式。 前提:把各函式的 { 都放在一行的第一个位置
]] : 跳往下一个函式。
四、Last line mode 下指令简介
注意: 使用前请先按 <ESC> 键确定在 Command mode 下。
按 ':' 或 '/' 或 '?' 三键即可进入 Last line mode。
1.列出行号 :set nu (可用 :set all 列出所有的选择项。)
------
2.寻找字串 /string (由首至尾寻找) ?string (由尾至首寻找)
---- ----
肆、参考资源
笔者: 吴文杰 经济系二年级乙班 ( wwc@sun1cc.nccu.edu.tw )
或迳至电算中心开放系统室(R.414) *欢迎*询问*指教*
书目: 精通 SunOS (李伟民译, 松岗)
SunOS 速成手册 (施得胜、林国瑞著, 第三波)
--
☆ [Origin: ◎椰林风情◎] [From: woju.g1.ntu.edu.tw ] [Login: **] [Post: **]
BBS水木清华站∶精华区