vim自定義快捷鍵 — 玩轉 mac
- 2019 年 12 月 4 日
- 筆記
本文作者:IMWeb 江源 原文出處:IMWeb社區 未經同意,禁止轉載
原文https://jiangyuan.gitbooks.io/mac/content/keymap.html
這裡不應是要說 vim
有哪些快捷鍵,而是想談談 vim
自身的自定義快捷鍵體系,這和你在 windows
上接觸的編輯器有所不同。如果你安裝了 vim
,請現在打開它,待會我們會用到。
一個例子體會下
為了在學習的過程中保持熱情,我總是試圖從最能獲取成果的方向著手,就像玩遊戲,一會就有一個成果獎勵,樂此不彼。
在 vim
normal
模式下,執行如下命令:
:map c h
執行後,按 c
鍵,這個時候好玩的事情發生了,游標在左移,我們都直到這是 h
鍵的默認行為。
這就是 vim 中鍵操作的一個最簡單的例子,將一個鍵映射到另一個鍵。
語法
可以直接利用幫助
文檔。
:help map
得到如下結果:
:map {lhs} {rhs} |mapmode-nvo| *:map*
lhs: left-hand side 可理解為左式 rhs: right-hand side 可理解為右式
不妨先忽略後面的 mapmode
,直接理解這個語法就是,將 lhs
鍵位映射為 rhs
鍵位,來個複雜點的例子。
vim
中鍵入如下命令:
:map <C-n> :sp <cr>
執行完後,按 Ctrl + n
,這個時候窗口會分為上下兩個窗口。
解釋:<C-n>
就是 Ctrl + n
,它映射為 :sp <cr>
, :sp
命令即為分割窗口, <cr>
則表示 Enter
鍵。
兩個例子都設置了快捷鍵,我們想要把清除它們,如下即可:
:unmap c :unmap <C-n>
分別清除我們兩個例子綁定的快捷鍵。
當然快捷鍵遠不止此,比如可用的變數有哪些、leader 機制又是怎樣的……這些都會慢慢更新介紹。