|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1729071
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2004/8/6 2:52 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15771
|
- [分享]vi 快速入門
- 有了強大的emacs還要來學什麼vi呢?其實vi應該是每個初學Unix的人所必備的, 在每台機器上一定都可以用,不像emacs沒有裝搞不好就沒有的用。另外vi的好 處是它很小,不佔記憶體,terminal可以動的地方就可以用。在做遠端管理 等等狀況非常好用。它算是一種標準編輯器,就像windows上一定有筆記本 這個程式一樣
一般說來vi沒有選單可以用(其實有變種vi,像gvim就有選單功能) ,所以一定要在兩個模式間跳來跳去。一開始就是在命令模式內,你要先跳到 編輯模式才可以亂打內容。其實也不一定啦,要看當初的設定為何,只是正 常古老時代應該是這樣。如果你按了老半天跑不出字來,就按個i 快速命令 以下是常用按鍵:
一。從命令到編輯模式 a :將游標放到目前游標後一個字元,開始文字編輯模式。insert i :將游標放在目前游標位置,開始文字編輯模式。append o :將游標放到下一行起始位置,開始文字編輯模式。open new line 比較常用就是i,a,o,I,A,O了,將來多試幾次就好了,就很熟悉了。
二從編輯到命令 ESC :沒事多按逃脫鍵,有益身體健康。
三命令模式中的其他命令 在命令模式中的按鍵就很多了,這些需要好好熟練一下了。 在vi命令模式裡面,有的按鍵按完後他還是在命令模式,有的改個字元或copy/paste後 又回到命令模式,有的就一去不回頭變成文字編輯模式了。 有些按鍵會把你原本想改的內容做特殊的定位,例如要改個word,也會把你帶離命令模式檔案:q 離開vi :e xxxx 編輯xxxx:w 存檔 :w xxxx 另存檔案xxxx :q! 不存檔強迫離開 :w! 強迫存檔 :wq 存檔與離開游標移動 h,j,k,l 往左,往下,往上,往右0 到行首$ 到行尾 ^ 到這行的第一個非空白字元
w,W 到下個字, 到下個非空白的字 b,B 回上個字, 到上個非空白的字 e,E 到這個字的字尾, 到下個非空白的字字尾
Ctrl-F ,Ctrl-B 往後一頁,往前一頁G 到檔尾 :n 到第n行 (所以到檔頭就是:1) Ctrl-G 顯示第幾行J 合併兩行搜尋與取代/ /pattern 尋找pattern ?pattern 往上尋找pattern n 再往下尋找 N 再往上尋找 :s/patrn/str/cgi搜尋patrn取代str 其中:跟s間必需指定範圍(range)沒設範圍就是游標這行 1,10 表示 1-10行 % 表示整篇 最後cgi c 表示confirm尋問 g 表示global全部 i 表示ignore不分大小寫
常用字元字串處理cc 改變整行dd 砍掉整行 yy 拷貝整行(yank whole line) p,P 貼上(paste) 你最近砍掉或拷貝的
cw 改變一個字d$ 砍到行尾 ye 拷貝到這個字尾
r,R 取代一個字元, 取代整行 u,U undo 最後修改,UNCHANGE整行 x,X 砍一個字元, 往回砍個字元(等於按backspace)重複的處理 . 重複剛剛的命令或輸入這些試試看 ce, 3x, 5dd, 10w, d0, y$, 5Gindentation >> 往右一個indent << 往左一個indent vim的多檔與多窗 :e xxx 編輯xxx :buffers 列出所有編輯檔 :bn n是數 b1 b2 b3....表是開第n個buffer :bdn n是數:bd1 :bd2 表示殺掉第n個buffer
:new 一個水平新窗 :vnew 開個垂直新窗 :only 只留一個窗窗
C-w j k h l 移到下 上 左 右 窗去 vi設定檔 用命令可以設定一些編輯器的屬性,例如tab鍵是跳幾格啦等等 :set tabstop=8:set number 這些可以寫進 一個設定檔,下次啟動vi就自然會用到了。不過在用命令設定時是要多加:, 寫到.exrc就不用多加:。例如.exrc裡面 set tabstop=8set number 一般vi的正常起動設定檔是$HOME/.exrc
另外vi有所謂的加強型vi,vi其實有很多的程式實作了他,因為到了後來 很多人把它的大概有的功能再擴張開來,例如顏色,例如一些特殊按鍵。 比較常見的如vim, elvis等等,都長的像vi,只不過symbolic link到vi。 就好像漢書長的跟PE2看起來一模一樣,但是是不同程式。其實我們的 emacs也有兩個兄弟一個是GNU emacs,一個是Xemacs。 如果用的是vim,它有個額外的設定檔,是$HOME/.vimrc vi
|
|
|
|