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