code:
原作: 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! .假如要存的话,请按 ZZ假如你在编辑自己的档案,一般来说都是按 ZZ 离开 :q! 离开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!
就可以避免这新的档案被建立.总结-------结束第一课后,你应该已经懂得这些指令了... ^D 光标往下移动半个屏幕(按住 Ctrl 键不放再按 d 键) ^U 光标往上移动半个屏幕(按住 Ctrl 键不放再按 u 键) h 向左移动一个字符 j 向下移动一行 k 往上移动一行 l 向右移动一个字符 dd 删除一整行 x 删掉一个字符. u 取消刚才所做的动作 :q! 离开vi,不储存刚才对档案所作的变动 (先按冒号,再打q,赞叹号,再按Enter) ZZ 离开并储存刚才对档案所作的变动 (大写Z按两次) o OPEN : 插入一个新的空白行输入文字 i INSERT :从现在光标所在位置开始插入文字 ESC 离开(ESCAPE) "插入" 模式若要在在UNIX指令行(command line)下使用vi请打 : vi [要编辑的档名]现在你已经会对档案作一些基本的编辑工作了.请你继续练习使用vi,接下来再进行第二部份的课程,学习更多好用的vi指令