前單元 次單元 目 錄

大家來學VIM(一個歷久彌新的編輯器)[八]

shell 命令及求助系統

 

shell 命令

:!外部指令  執行外部指令。當然您的指令要在 PATH 內。
:!!  執行前一次執行之外部指令。
  • 在這裡的 ! 可不是強迫中止喔!
  • vim 中有一個很特殊的指令 @:,是重複前一次的冒號命令。
:sh(ell)  執行 shell。使用 exit 回來。
  • 這在 vim GUI 會在原視窗內顯示執行結果,在 elvis GUI 則會另開一 xterm 視窗。console 或 xterm 下的 vim 當然就是跳出 vim 進入 shell 中。
  • 至於是用哪一種 shell 是可以另外設定的,可由 set shell= 來設定。在 windows 的版本中設定時如遇有空白字元檔名時要由 \ 來 escape,例如:
    :set shell=\"c:\program\ files\unix\sh.exe\"\ -f
    
    建議抓個 bash 來用啦,配合一些 Win32 中的 UNIX 指令會更適配。
  • 在此補充一下補全的功能。不是只有 Tab 鍵的補全功能喔!也可以使用上下方向鍵,叫出歷史指令,叫出歷史指令可用於冒號命令及尋找命令(/)。例如,您前已下了 :!ps aux 這個指令,您可以按 : 後就直接按向上方向鍵。別忘了!尋找指令也是可以這樣用喔!
:r !commond
   這個就妙了!會在游標所在處次一行插入外部指令 commond 執行
   後的輸出內容。例如 :r !date 就會插入日期時間。這在 elvis
   是會插入在游標所在處那一行。
:n,mw !commond
   以 n 至 m 行內之資料,當做外部指令 commond 的 input。這算
   是相當高級的用法了,初學者大概還用不上,不過印象中留有一
   個這樣的功能,以後總是會用得上的。
K  大寫 K 會顯示游標所在處之 word 的 manpage。elvis 不適用。     
   windows 版本亦不適用。

 

求助系統

原始 vi 是沒有 on-line help 的,但 vim 及 elvis 則有相當豐富的說明系統。vim 沿用傳統 tag 的方式來找主題,而 elvis 就高明了,是使用 HTML 的格式。原來 elvis 是可以直接閱讀 HTML 檔的,當然不能顯示圖檔,但會標明圖檔的名稱。

F1  用過 pe2(3) 嗎?好像 F1 是救助鍵已讓大家公認。vim 預設
    按 F1 就會叫出說明檔。elvis 當然沒有,不過您可以自行設
    定,在 ~/.elvislib/elvis.rc 中加上
      map #1 :help^M
    就可以了。須注意的是 ^M 是按 Ctrl-v 後不放再按 M 或
    Enter 鍵,表示馬上執行。ㄟ,^M 是特殊字元,是一個字元
    ,而不是兩個字元,您移動游標在 ^M 上就知道了,不是我文
    中的,文中的是直接打出來的兩字元 ^M。
  • 在 console 下要打特殊字元的話,要 Ctrl-Shift-V 然後按您要的鍵。
:h name 這樣就會叫出 name 這個說明檔,如果後面沒接 name, 則會叫出 help.txt 這個總說明檔(在 evlis 是 elvis,html) h 是 help 的縮寫。ㄟ,name 記不清楚時,別忘了 Tab 補全。 在 vim 的說明檔中,遇有兩個 | 圍住的主題,把游標移到上面 就可以使用 Ctrl-] 來叫出這個主題的說明,Ctrl-T 可以回到 原說明,elvis 中也是可以這樣用。mouse 按兩下也是可以叫出 說明。:q 可結束說明檔,回到原編輯檔案。 :ver 會顯示版本、編譯資訊,編譯時加入之參數也會顯示出來, 讓您知道有加入些什麼功能,因為有些功能在編譯時就得加入。 其中正號 + 表示有此功能,減號 - 表示無此功能。elvis 只能 顯示版本資訊,無法顯示編譯資訊。
  • 在下都會編譯出一個全功能的 vim 來備用,而且 GUI 及 console 下使用的各編一個,以加快 console 下的啟動速度。
在此補充說明一點,各位有沒有覺得 :q 很常用到,好了!就依 pe2 的習慣設為 F4 吧!怎麼設?找上面叫出說明檔怎麼設,您就依樣畫葫蘆就可以了!vim 的設定檔在 ~/.vimrc。個人是直接設成 :q! 以免麻煩,但要記得存檔喔!

前單元 次單元 目 錄

 


最後修訂日期:2000.05.05
Edward Lee