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 机制又是怎样的……这些都会慢慢更新介绍。