在使用vim的过程中,一定会用help,而vim完善的帮助文档也让人惊叹,到目前为止 我还没没有见过那个项目能把文档写得如此的深入和细致。可是我一直使用help的方式 都是低效的,甚至可是说是愚蠢的,vim这么完善的帮助体系早就考虑到了用户在使用 help时的体验问题。

窗口分割问题

vim的help默认是水平分割窗口的,而我一直以来都是忍受这个水平分割窗口,因为 vim的help都不会有长行,所以水平分割窗口显得窗口资源利用不足,右边一大半 都是空着,特别是电脑屏幕是15寸以上的。那么最后的方式肯定是垂直分割了,这样 不仅可以充分的利用窗口空间,还能看到更多的帮助信息。这样我们需要查看help 的时候输入如下的命令

:vertical botright help number
:vert bo h number

上面的命令会在窗口右边垂直分割出number的帮助信息,第一行代码是完整的输入 ,第二行代码是简写,vertical 表示将vert后面的命令结果垂直分割出窗口显示, botright 表示分割出的新窗口显示在右边。

列表显示

我们在输入帮助命令之后,有时候和当前命令相关的帮助信息不止一条,或者和当前 命令类似的帮助信息,或者有时候我们只是模糊的记得命令,这时候该怎么办?例如 输入:h number之后,再按一下Ctrl-D就可以将列表显示出来,通过键来选择我 们感兴趣的帮助信息。

但是这里还有一个问题,就是按下之后,选中的信息不是很明显,这时候就需要 下面这个配置。

set wildmenu

当按下之后会显示一个状态栏,状态栏上显示的是帮助信息自动补全的信息,并 高亮第一个匹配的信息,可以通过键进行切换到一条信息,或者使用Ctrl-P/Ctrl-N 进行前后切换。当然,这个配置不仅是针对帮助信息的补全,其他命令也是一样的效果。

链接

我们在浏览网页的时候,通过点击链接进入到其他网页,而vim的help也是提供了类似 的功能,按一下Ctrl-]就可以跳转到和当前光标所在单词相关的帮助信息,然后可以 通过Ctrl-T切换会原来的位置,通过Ctrl-O/Ctrl-I在前后浏览过的帮助信息之间进行切换。

不同模式下的帮助信息

vim的模式有多种,比如normal(普通模式),insert(插入模式),command(命令行模式), visual(可视化模式)。相同的命令和快捷键在不同的模式下功能是不一样的,因此 帮助信息也是分模式的。

  • :h :r 表示查找命令行模式下的帮助信息

  • :h r 表示查找普通模式下的帮助信息

  • :h v_r 表示查找可视化模式下的帮助信息

  • :h i_CTRL_W 表示查找插入模式下快捷键的帮助信息

  • :h c_CTRL_W 表示查找命令行模式下快捷键的帮助信息

  • :h /\r 表示查找搜索的正则表达式

  • :h 'ro' 表示查找操作帮助信息

  • :h -r 表示查找参数的帮助信