BBS水木清华站∶精华区

---------------------------------------------------------------------- 
原作: Jill Kliger and Wesley Craig. 
中译: 交大资工86 刘醇丰 cfliu@csie.nctu.edu.tw   1995.Jul.5 
 
译注: 
     这是从交大资工计中的vilearn所抓出来的文件.原文是英文写的. 
     这系列的文章有五六篇,都不长但应对vi初学者有所帮助.我自己也算vi初 
     学者,所以若翻译有错误或有不通顺有错误的地方都欢迎各位前辈指点. 
     有兴趣的朋友请将这些文章抓下来直接用vi阅读并跟著文中的指示跟著实 
     作,相信一定能学的更快.这几天有空就会陆续将其他的部份都翻译完. 
---------------------------------------------------------------------- 
 
 
------------------------------- 
轻松学 vi 第一课 : 打好基础 
------------------------------- 
 
我们现在将花约10到15分钟来教你一些简单的编辑方法.有[实作]的部份请你务 
必跟著实地演练一次.如果你想离开这门课程请按大写的Z两次离开. 
 
请注意:你在vi□所打的指令(command)并不会出现在萤幕上,如果你所打的 
       指令出现在萤幕上,那麽请按一下 ESC 键. 
 
基本的游标移动方法 
--------------------- 
 
在这门课□,你可以按 ^D (Ctrl+D) 或 ^U(Ctrl+U) 来移动你的游标 
 
        ^D      游标往下移动半个萤幕(按住 Ctrl 键不放再按 d 键) 
 
        ^U      游标往上移动半个萤幕(按住 Ctrl 键不放再按 u 键) 
 
[实作]现在请你试著按 ^D 和 ^U 来移动你的游标 
 
在整个课程中,当你读完了一页的内容以後,请按 ^D 继续阅读下一页的 
课程内容. 
 
如果你想一行一行或一个字母一个字母的移动游标,请按 h , j , k 和 l 
 
        h       向左移动一个字元 
        j       向下移动一行 
        k       往上移动一行 
        l       向右移动一个字元 
 
或许你有注意到这几个按键在键盘上是一字排开的,请看下面这个图. 
 
                                       上 
                .......   .......   .......   ....... 
                :     :   :     :   :     :   :     : 
          左    :  h  :   :  j  :   :  k  :   :  l  :  右 
                :.....:   :.....:   :.....:   :.....: 
 
                           下 
 
[实作]现在按几次 j 或 k 把游标移动到这行上面. 
 
[实作]1. 现在试著按 l 键几次把游标移到这行的最右边.请注意vi不允许你 
          按 l 将游标移动超过每一行的行尾.同样的,你也不能在空白行按 
          h 和 l  . 
      2. 接下来请你按 j 将游标往上移动,请注意看看画面是怎麽向下卷动的 
 
 
删掉文字/删除一整行  DELETION 
----------------------------- 
在vi□,用 x 和 dd 来删字母和一整行. 
 
        x       删掉目前游标所在位置的那个字母 
        dd      删掉目前游标所在位置的那一行 
 
如果想救回(undo)刚才所删掉的东西,按 u 
 
        u       救回最後一次所删除的东西. 
 
[实作]现在我们来试试砍掉这一行. 先按j或k把游标移到这行上面,再按dd 
      (按两次d).再按 u 救回上一行 
 
[实作]把游标移到这行上面,按 x 把下面句子中的 Y 删掉 
       "whY ask whY?" 
      现在试著按 u 救回刚刚删掉的文字. 多按几次 u ,你会发现 u 只能 
      救回最後一个被删掉的字母 
 
下面这几行文字让你练习 删除 和 救回 的动作( 用 dd x u ) 
 
        Emacs is an evil creation. Emacs is an evil creation. 
        Emacs is an evil creation. Emacs is an evil creation. 
        Emacs is an evil creation. Emacs is an evil creation. 
 
 
如何离开vi 
---------- 
 
(只是说明,先暂时不要按下面的指令离开) 
 
如果你刚才有更改档案的内容(举例来说,你刚才按过 dd 或 x 就算是更动过 
档案内容) 却不想存起来,你可以按  :q!<RETURN> .如果要存的话,请按 ZZ 
如果你在编辑自己的档案,一般来说都是按 ZZ 离开 
 
 :q!<RETURN>    离开vi,不储存刚才对档案所作的变动 
                (先按冒号,再打q,惊叹号,再按Enter) 
 
        ZZ      离开并储存刚才对档案所作的变动 
                (大写Z按两次) 
 
插入文字 
-------- 
 
你可以按 i 或 o 进入"插入"模式,输入完毕後要按 ESC 离开"插入" 模式. 
在插入模式中,你所打的任何东西都会出现在画面上(还记得刚才才说过 
vi□所打的指令(command)并不会出现在萤幕上吗?)如果你的电脑键盘上没有 
ESC这个按键,请按 ^[ 代替 ( Ctrl + [ ) 
 
        o       OPEN : 插入一个新的空白行输入文字 
        i       INSERT :从现在游标所在位置开始插入文字 
 
        ESC     ESCAPE : 离开 "插入" 模式 
 
在"插入"模式中,你可以用倒退键来更正错误(一般来说,是Backspace键或Delete 
键).你所删除的字母将会一直停留在萤幕上直到你下次按ESC键才会真正删去. 
 
[实作]在下面的空白行中输入你的名字和电话号码.请照下面的步骤: 
      1.按 o 插入一个空白行 
      2.输入你的名字後按enter 
      3.输入你的电话後按esc 
      4.按 x 删掉一部份的电话号码 
 
[实作]在你的电话号码下输入今天的日期. 
        1.按 o 插入一个新的空白行. 
        2.输入日期後按ESC 
 
[实作]按 u 取消刚才所插入的文字 
 
[实作]按 i 在你的名字间插入你的小名或□称. 
      步骤:  用刚刚教过的 h j k l 把游标移到你名字的中间再按 i 
             输入你的小名或□称.用 DELETE 或 BACKSPACE 更正错误的地方 
             再按 ESC 离开插入模式. 
 
注意: 
        在某些电脑□,一行文字可以比萤幕画面能显示的字数还多,也就是在这 
        种电脑上很长的一行文字在萤幕上可能显示出来时会被截成两行以上. 
        为了避免这种困扰,在你插入文字时请记得当游标已经跑到画面边缘时要 
        按一下enter换行. 
 
关於档案 
----------- 
在UNIX指令行下用vi编辑一个档案的方法是打: 
 
        vi filename 
 
"filename" 指的是你想编辑档案的档名.若这个档案原本就不存在於磁碟内(也就 
是"新档"),那麽vi不会马上就建立这个新档.vi会等到你第一次下存档的指令时才 
会一并建档并存档.在这之前这个档案一直都放在暂存区内.如果你在输入档名时不 
小心打错了,只要打 :q!<RETURN> 就可以避免这新的档案被建立. 
 
 
总结 
------- 
结束第一课後,你应该已经懂得这些指令了... 
 
        ^D      游标往下移动半个萤幕(按住 Ctrl 键不放再按 d 键) 
 
        ^U      游标往上移动半个萤幕(按住 Ctrl 键不放再按 u 键) 
 
        h       向左移动一个字元 
        j       向下移动一行 
        k       往上移动一行 
        l       向右移动一个字元 
 
        dd      删除一整行 
        x       删掉一个字元. 
 
        u       取消刚才所做的动作 
 
 :q!<RETURN>    离开vi,不储存刚才对档案所作的变动 
                (先按冒号,再打q,惊叹号,再按Enter) 
 
        ZZ      离开并储存刚才对档案所作的变动 
                (大写Z按两次) 
 
        o       OPEN : 插入一个新的空白行输入文字 
        i       INSERT :从现在游标所在位置开始插入文字 
 
        ESC     离开(ESCAPE) "插入" 模式 
 
若要在在UNIX指令行(command line)下使用vi请打 : 
 
        vi [要编辑的档名] 
 
现在你已经会对档案作一些基本的编辑工作了.请你继续练习使用vi,接下 
来再进行第二部份的课程,学习更多好用的vi指令 
 
 
 
 
-- 
交通大学资讯工程系 刘醇丰 
Email:cfliu@csie.nctu.edu.tw 
FreeBSD: Apollo.Dorm10.NCTU.edu.tw(140.113.190.10) 
-- 
☆ [Origin: ◎椰林风情◎] [From: woju.g1.ntu.edu.tw ] [Login: **] [Post: **] 

BBS水木清华站∶精华区