分类: LINUX
2010-05-19 14:02:16
慣於使用所見即所得,或者說喜歡用滑鼠的朋友們,對於 vim 這種好像只能憑藉鍵盤的方式很不習慣。我們可能會說 vim 是不錯,可是不能滑鼠選擇一塊區域,然後按一個鍵,或是一個地方,就可以完成某些事情。比方說有一些軟體可以讓你在編寫網頁的時候,你可以用滑鼠把文字區塊選起來,然後點一個小圖示或是用滑鼠點擊選單就做到把那個區域的前後補上…這樣的標籤。雖然 vim 有這麼多強大的功能,有取代、置換、幫你幹嘛幹嘛的,… 難道,就是這樣了嗎? vim 真的不行了嗎?
怎麼可能?只不過這次,我們必須要把前面許多已經討論過的方式綜合在一起使用,而今天使用的就是其中之一的選擇模式(visual mode),透過熱鍵的設定 (Key mapping),就可以輕鬆做到用滑鼠選擇然後按一次鍵就完成目標的事情。
如果你還不太清楚 vim ,建議你可以先參考下列數篇:
一般來說,如果我們想要做到讓 ABCDE 這串東西,變成 ABCDE 的話,照前面我們談過的作法,你可能會想到用:
:%s/ABCDE/ABCDE/g
或者是:
:%s/ABCDE/\1/g
但是如果 ABCDE 這種東西變多了,就是說你有許多不一樣的這些東西都要給上標籤(tag),這種%s的作法,別說你覺得累,我都覺得厭煩。
現在,就請你把 vim 打開,隨意輸入一些字,並且進入指令模式下。
(如果你還沒有 vim ,可以到)
先把答案給你看:
:vmap
s ”
當你輸入這串指令後,試試看用滑鼠選擇,或是和我一樣用鍵盤以 v 加上游標,選取剛才你隨意輸入的那些字,然後按下CTRL+S (就是上面的
基本的語法是這樣: [mode(模式)] [熱鍵] [執行指令]
所以回過頭來看我們的「答案」:
:vmap
s ”
「vmap」 用來告訴 vim 這樣的按鍵設定只在選擇模式下才使用,
「
至於後面那一串 s
如果你不想再用這個設定了,可以用:
:vunmap
來取消。
好啦,所以同樣的方式你一樣可以用在其他的模式下,相關的詳細使用你可以參考:
:h key-mapping