通过病原体将标签生成到不同的位置

时间:2010-12-03 08:03:41

标签: vim plugins tags

我使用病原体来组织我的vim插件。我git将插件从github克隆到vimbundles目录中。这样就可以很容易地更新它们。

我对病原体产生的标签有疑问。如果插件没有在其代码中包含标签,则病原体通过调用pathogen#helptags()生成它们。标签生成到插件的doc文件夹中。然后这些文件在git存储库中显示为未跟踪。

你知道如何在不同的位置生成标签吗?所有标签都可以在同一个地方,目标不是将它们生成到插件所在的目录。可以说病原体会这样做吗?

3 个答案:

答案 0 :(得分:34)

据我所知,病原体只在包中包含的doc目录上运行:helptags,vim将tags文件放在那里。我不知道改变这种行为的设置。

我提供我的解决方法,因为它与其他的有点不同,因为我将所有的包存储为更大的回购的子模块。我只是将.gitignore添加到.git/config中的子模块的条目,而不是修改仓库ignore = untracked.gitmodules,例如:

[submodule "vim/bundle/nerdcommenter"]
    path = vim/bundle/nerdcommenter
    url = http://github.com/scrooloose/nerdcommenter.git
    ignore = untracked  

答案 1 :(得分:7)

兰迪的回答最适合我。当我想在很多子模块中添加ignore = untracked选项时,我使用的一个衬里是:

for s in `git submodule  --quiet foreach 'echo $name'` ; do git config submodule.$s.ignore untracked ; done

答案 2 :(得分:5)

我有这条线我的.git / config:

[status]
   showUntrackedFiles = no

现在每次运行git status都没有显示未跟踪的文件。 这也加速了一些事情,因为git不检查目录中的每个文件,而只检查存储库中存在的那些文件。

有关详细信息,请转到http://git-scm.com/docs/git-config并转到status.showUntrackedFiles

修改 忘记提到我在bundle目录中也有子模块,我在最顶层的存储库配置中添加了提到的选项。