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 機制又是怎樣的……這些都會慢慢更新介紹。