多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 自定义快捷键 这里不应是要说 `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> ``` 分别清除我们两个例子绑定的快捷键。