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水木清华站∶精华区