代码之家  ›  专栏  ›  技术社区  ›  eXe

如何在Vim会话期间更改Indexer使用的项目?

  •  2
  • eXe  · 技术社区  · 9 年前

    我正在尝试使用索引器( vimscript #3221 )为使用project创建的特定项目的文件编制索引。vim公司( vimscript #69 ). 正如插件的文档所说,如果我不设置 g:indexer_projectsSettngsFilename ~/中的变量。vimrc,它使用~/。默认情况下,vimprojects文件。但我希望能够在~/中不设置变量的情况下指定项目。vimrc(即,我想以更本地的方式进行)。

    我试着设置 g: 索引器项目设置文件名 在里面 _vimrc_local.vim ,在Vim启动后手动设置,重新源代码插件(通过运行 :so )设置变量后,运行 :IndexerRebuild 之后无论哪种情况,插件都不会为项目创建索引文件。

    那么,我如何使Indexer在Vim会话期间更改其项目?

    1 回复  |  直到 9 年前
        1
  •  1
  •   Dmitry Frank    9 年前

    Indexer插件有一个依赖项: Vimprj ,它管理不同项目的选项:正是您所需要的。

    这个 Indexer repository 下面有一些示例 doc/examples 目录例如, doc/examples/vimprj_indexer_files .

    简而言之,在项目的根目录中,需要创建 .vimprj 目录,然后,当您打开项目目录下的某个文件时,所有 .vimprj/*.vim 文件的来源,以及 $INDEXER_PROJECT_ROOT 变量将设置为项目的路径(该路径比 .vimprj(振动) 目录)。

    我通常把我的 .indexer_files 在里面 .vimprj(振动) 目录,并从 .vimprj/my.vim 文件如下:

    " get path to ".vimprj" folder
    let s:sPath = expand('<sfile>:p:h')
    
    " specify our ".vimprj/.indexer_files"
    let g:indexer_indexerListFilename = s:sPath.'/.indexer_files'
    

    我可以参考 .indexer_文件 $INDEXER_PROJECT_ROOT 这样地:

    [my_project]
    option:ctags_params = "--langmap=c:.c.h --languages=c"
    
    $INDEXER_PROJECT_ROOT
    

    有关更多信息,请参阅文章: Vim: convenient code navigation for your projects ,详细解释了Indexer+Vimprj的用法。