code:
原作: Jill Kliger and Wesley Craig.中譯: 交大資工86 劉醇豐 cfliu@csie.nctu.edu.tw 1995.Jul.5譯注: 這是從交大資工計中的vilearn所抓出來的文件.原文是英文寫的. 這系列的文章有五六篇,都不長但應對vi初學者有所幫助.我自己也算vi初 學者,所以若翻譯有錯誤或有不通順有錯誤的地方都歡迎各位前輩指點. 有愛好的朋友請將這些文章抓下來直接用vi閱讀并跟著文中的指示跟著實 作,相信一定能學的更快.這幾天有空就會陸續(xù)將其它的部份都翻譯完.-----------------------------------------------------------------------------------------------------輕松學 vi 第一課 : 打好基礎-------------------------------我們現(xiàn)在將花約10到15分鐘來教你一些簡單的編輯方法.有[實作]的部份請你務必跟著實地演練一次.假如你想離開這門課程請按大寫的Z兩次離開.請注重:你在vi里所打的指令(command)并不會出現(xiàn)在屏幕上,假如你所打的 指令出現(xiàn)在屏幕上,那么請按一下 ESC 鍵.基本的光標移動方法---------------------在這門課里,你可以按 ^D (Ctrl+D) 或 ^U(Ctrl+U) 來移動你的光標 ^D 光標往下移動半個屏幕(按住 Ctrl 鍵不放再按 d 鍵) ^U 光標往上移動半個屏幕(按住 Ctrl 鍵不放再按 u 鍵)[實作]現(xiàn)在請你試著按 ^D 和 ^U 來移動你的光標在整個課程中,當你讀完了一頁的內(nèi)容以后,請按 ^D 繼續(xù)閱讀下一頁的課程內(nèi)容.假如你想一行一行或一個字母一個字母的移動光標,請按 h , j , k 和 l h 向左移動一個字符 j 向下移動一行 k 往上移動一行 l 向右移動一個字符或許你有注重到這幾個按鍵在鍵盤上是一字排開的,請看下面這個圖. 上 ....... ....... ....... ....... : : : : : : : : 左 : h : : j : : k : : l : 右 :.....: :.....: :.....: :.....: 下[實作]現(xiàn)在按幾次 j 或 k 把光標移動到這行上面.[實作]1. 現(xiàn)在試著按 l 鍵幾次把光標移到這行的最右邊.請注重vi不答應你 按 l 將光標移動超過每一行的行尾.同樣的,你也不能在空白行按 h 和 l . 2. 接下來請你按 j 將光標往上移動,請注重看看畫面是怎么向下卷動的刪掉文字/刪除一整行 DELETION-----------------------------在vi里,用 x 和 dd 來刪字母和一整行. x 刪掉目前光標所在位置的那個字母 dd 刪掉目前光標所在位置的那一行假如想救回(undo)剛才所刪掉的東西,按 u u 救回最后一次所刪除的東西.[實作]現(xiàn)在我們來試試砍掉這一行. 先按j或k把光標移到這行上面,再按dd (按兩次d).再按 u 救回上一行[實作]把光標移到這行上面,按 x 把下面句子中的 Y 刪掉 "whY ask whY?" 現(xiàn)在試著按 u 救回剛剛刪掉的文字. 多按幾次 u ,你會發(fā)現(xiàn) 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----------(只是說明,先暫時不要按下面的指令離開)假如你剛才有更改檔案的內(nèi)容(舉例來說,你剛才按過 dd 或 x 就算是更動過檔案內(nèi)容) 卻不想存起來,你可以按 :q! .假如要存的話,請按 ZZ假如你在編輯自己的檔案,一般來說都是按 ZZ 離開 :q! 離開vi,不儲存剛才對檔案所作的變動 (先按冒號,再打q,贊嘆號,再按Enter) ZZ 離開并儲存剛才對檔案所作的變動 (大寫Z按兩次)插入文字--------你可以按 i 或 o 進入"插入"模式,輸入完畢后要按 ESC 離開"插入" 模式.在插入模式中,你所打的任何東西都會出現(xiàn)在畫面上(還記得剛才才說過vi里所打的指令(command)并不會出現(xiàn)在屏幕上嗎?)假如你的計算機鍵盤上沒有ESC這個按鍵,請按 ^[ 代替 ( Ctrl + [ ) o OPEN : 插入一個新的空白行輸入文字 i INSERT :從現(xiàn)在光標所在位置開始插入文字 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 離開插入模式.注重: 在某些計算機里,一行文字可以比屏幕畫面能顯示的字數(shù)還多,也就是在這 種計算機上很長的一行文字在屏幕上可能顯示出來時會被截成兩行以上. 為了避免這種困擾,在你插入文字時請記得當光標已經(jīng)跑到畫面邊緣時要 按一下enter換行.關于檔案-----------在UNIX指令行下用vi編輯一個檔案的方法是打: vi filename"filename" 指的是你想編輯檔案的檔名.若這個檔案原本就不存在于磁盤內(nèi)(也就是"新檔"),那么vi不會馬上就建立這個新檔.vi會等到你第一次下存盤的指令時才會一并建檔并存盤.在這之前這個檔案一直都放在暫存區(qū)內(nèi).假如你在輸入檔名時不小心打錯了,只要打 :q!
就可以避免這新的檔案被建立.總結(jié)-------結(jié)束第一課后,你應該已經(jīng)懂得這些指令了... ^D 光標往下移動半個屏幕(按住 Ctrl 鍵不放再按 d 鍵) ^U 光標往上移動半個屏幕(按住 Ctrl 鍵不放再按 u 鍵) h 向左移動一個字符 j 向下移動一行 k 往上移動一行 l 向右移動一個字符 dd 刪除一整行 x 刪掉一個字符. u 取消剛才所做的動作 :q! 離開vi,不儲存剛才對檔案所作的變動 (先按冒號,再打q,贊嘆號,再按Enter) ZZ 離開并儲存剛才對檔案所作的變動 (大寫Z按兩次) o OPEN : 插入一個新的空白行輸入文字 i INSERT :從現(xiàn)在光標所在位置開始插入文字 ESC 離開(ESCAPE) "插入" 模式若要在在UNIX指令行(command line)下使用vi請打 : vi [要編輯的檔名]現(xiàn)在你已經(jīng)會對檔案作一些基本的編輯工作了.請你繼續(xù)練習使用vi,接下來再進行第二部份的課程,學習更多好用的vi指令