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

2021-09-01 07:40:52 字數 2020 閱讀 5828

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 只能 顯示版本資訊,無法顯示編譯資訊。

在此補充說明一點,各位有沒有覺得 :q 很常用到,好了!就依 pe2 的習慣設為 f4 吧!怎麼設?找上面叫出說明檔怎麼設,您就依樣畫葫蘆就可以了!vim 的設定檔在 ~/.vimrc。個人是直接設成 :q! 以免麻煩,但要記得存檔喔!

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

因為最近在學vim,所以轉過來。裡面是繁體,好多都是台灣的計算機術語,看的時候有點怪異,不過還是不影響閱讀的。前言 鑑於仍有許多人還沒找到順手的編輯器,而許多想學 vi 的人又覺得無從下手,因此在此提出一些個人的心得,希望能對這些朋友有點幫助。或許也減少一點 faq 吧!真要深入的話,大多數的前輩都...

大家來學VIM(乙個歷久彌新的編輯器) 四

yank 是什麼意思?有疑問的請查一下字典吧!就好像是中醫治療中的 拔罐 的意思啦 是不是叫 拔罐 知道的朋友指正一下吧 反正在 vi m 中,她就是複製 copy 的意思。這在 vi m 的思考邏輯裡,就是 拔 yank 起來,放 put 上去。其實複製的指令就是 y 乙個而已,為什麼要獨立成乙個...

實現乙個簡單的行編輯器

1.要求 2.開啟 關閉回顯和緩衝 3.顯示大小寫字母和數字 4.實現退格鍵 5.實現游標左右移動 6.實現del鍵刪除整行 7.總 但是行編輯器不能讓每個字元都輸出在螢幕上,有些鍵是要作為功能鍵來使用的,所以必須關閉回顯設定,讓我們自己來設計有選擇的輸出字元。二是在linux命令列的預設模式下,輸...