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的主要内容,如果未能解决你的问题,请参考以下文章

Vim 插件: vim-which-key

Vim 插件: vim-which-key

Vim 插件: vim-which-key

超漂亮 vim 配置:space-vim

如何安装jedi vim插件

IE 11 有vim插件吗?