Vim 插件: vim-which-key
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vim 插件: vim-which-key相关的知识,希望对你有一定的参考价值。
参考技术A emacs 用户相信应该对于 emacs-which-key 很熟悉,如果你在一定时间没有输入下一个按键,它会自动显示接下来可能的所有快捷键映射,这对于常常需要多组合键的 emacs 来说很是方便。我在一开始使用 spacemacs 的时候,就被这个功能所吸引。不过一直以来 vim 中都缺少像 emacs-which-key 这样“形神兼备”的插件,这一点我在 space-vim 的 README 中也一早有提及。vim-leader-guide 是 vim 里出现的一个比较接近的插件,它主要借鉴自 guide-key ,而 guide-key 是 emacs-which-key 的前身,目前已经不更新了,上一次 commit 还是在 2015 年。emacs-which-key 作为 guide-key 的继任者对它进行了重写,并加入了一些新的特性。
因为 vim-leader-guide 之前长时间没有更新,而且在我看来不够 fancy,所以我对它进行了一个大的改造,也就是现在的 vim-which-key ,主要改进的地方有:
vim-which-key 对于 vim 的版本和特性基本没什么要求,需要注意的一点是不要关闭选项 timeout ,即不要在 vimrc 中设置 set notimeout 。另外可以自行设置 timeout 的时长:
如果使用 vim-plug :
这是使用 vim-which-key 的最小配置,它会自动解析用户自定义的 <leader> 和 <localleader> 相关快捷键。但是通常来说,通过自动解析所展示的内容并不能起到 cheatsheet 的作用,所以一般还需要稍加一点自定义配置来实现一个比较好的效果。
要想实现上图中的效果,只需要再多额外两步配置。
第一步是用一个 dict 定义你要展示的信息和执行的操作,用过 vim-leader-guide 的应该都很熟悉,跟它很像,不同的地方主要有:
更详细的样例可以参考 space-vim 的 leader.vim , 它也是截图中的配置。
第二步是注册键位与对应的 dict,这一步比较简单,不要忘记就行。
除了 leader 和 localleader ,如果想要提示其他键也可以:
更多介绍请参看 vim-which-key 的 README 和 doc。
如果在使用 vim-which-key 过程中有任何问题,请到 GitHub 上的 issue 里面提,提 issue时请说明重现步骤并提供可重现的最小 vimrc,比如这样:
以上是关于Vim 插件: vim-which-key的主要内容,如果未能解决你的问题,请参考以下文章