Vim帮助标签生成

So8*_*res 39 vim

我使用病原体并有一个更新脚本,下载我在vim.org,github或其他任何地方使用的所有vim插件的最新版本.但是,此脚本当前不会更新vim helptags.为了做到这一点,我必须在vim中找到每个更新的插件并执行":helptags doc /".如果我可以使用我的更新脚本这样做会很棒,但为了做到这一点,我需要从脚本运行vim":helptags"命令.这可能吗?

谢谢!

Chr*_*sen 75

1.2(2010-01-17)之后的pathogen.vim版本有一个pathogen#helptags功能,它将自动更新每个目录的帮助标签runtimepath.只需在致电后拨打电话pathogen#runtime_append_all_bundles:

call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
Run Code Online (Sandbox Code Playgroud)

或者,假设你有call pathogen#runtime_append_all_bundles()你的.vimrc:

vim -c 'call pathogen#helptags()|q'
Run Code Online (Sandbox Code Playgroud)

在获取更新后,仅从命令行执行一次.


最近版本的病原体建议pathogen#infect()在你的呼叫中.vimrc代替pathogen#runtime_append_all_bundles(因为b147125 "添加病原体#infect()作为基本设置的主要入口点",2011-05-13;前者在内部调用后者).如果您.vimrc正在打电话pathogen#infect(),请在此pathogen#helptags()之后拨打电话.

  • 在你的.vimrc`execute pathogen#infect();执行pathogen#helptags()` (6认同)
  • 您现在也可以运行命令:Helptags(注意大写'H'),它运行:'runtimepath'中每个doc /目录上的helptags. (6认同)
  • `call pathogen#infect()`用来代替`call pathogen#runtime_append_all_bundles()`.就在这种情况下别人偶然发现了. (3认同)

Cas*_*bel 26

不应该所有文档都在同一doc目录中吗?也许.vim/doc,/ usr/share/vim/vimfiles/doc?

在任何情况下,您都可以启动vim,并指示它运行命令:

cd <plugindir>
vim -c "helptags doc/"
Run Code Online (Sandbox Code Playgroud)

您可以指定多个命令,因此最后一个命令可以-c q在完成后退出vim.(或者您可以将其作为一个命令添加command1 | q.)或者,如果您有许多命令要运行,您可以生成一个脚本,让vim运行它vim -S <script>; 再次,您可以创建脚本的最后一个命令,q以便在完成后关闭它.

  • 这里的问题是[pathogen](https://github.com/tpope/vim-pathogen)将每个插件保存在公共目录(默认情况下为`bundle /`)内的不同目录中,因此进入每个`bundle/name-of-plugin/doc`很烦人.克里斯在下面的答案是适当的答案. (3认同)

小智 8

在最近的版本中,:helptags ALL可以工作。