# 自定义快捷键
这里不应是要说 `vim` 有哪些快捷键,而是想谈谈 `vim` 自身的自定义快捷键体系,这和你在 `windows` 上接触的编辑器有所不同。如果你安装了 `vim` ,请现在打开它,待会我们会用到。
## 一个例子体会下
为了在学习的过程中保持热情,我总是试图从最能获取成果的方向着手,就像玩游戏,一会就有一个成果奖励,乐此不彼。
在 `vim` `normal` 模式下,执行如下命令:
```vim
:map c h
```
执行后,按 `c` 键,这个时候好玩的事情发生了,光标在左移,我们都直到这是 `h` 键的默认行为。
这就是 vim 中键操作的一个最简单的例子,将一个键映射到另一个键。
## 语法
可以直接利用`帮助`文档。
```vim
:help map
```
得到如下结果:
```vim
:map {lhs} {rhs} |mapmode-nvo| *:map*
```
>lhs: left-hand side 可理解为左式
>rhs: right-hand side 可理解为右式
不妨先忽略后面的 `mapmode` ,直接理解这个语法就是,将 `lhs` 键位映射为 `rhs` 键位,来个复杂点的例子。
`vim` 中键入如下命令:
```vim
:map <C-n> :sp <cr>
```
执行完后,按 `Ctrl + n` ,这个时候窗口会分为上下两个窗口。
解释:`<C-n>` 就是 `Ctrl + n` ,它映射为 `:sp <cr>` , `:sp` 命令即为分割窗口, `<cr>` 则表示 `Enter` 键。
两个例子都设置了快捷键,我们想要把清除它们,如下即可:
```vim
:unmap c
:unmap <C-n>
```
分别清除我们两个例子绑定的快捷键。