Vim 如何通过boost减少clang_完全搜索的时间

Vim 如何通过boost减少clang_完全搜索的时间,vim,boost,clang,code-completion,clang-complete,Vim,Boost,Clang,Code Completion,Clang Complete,我喜欢和vim一起使用铿锵 我经常遇到的一个问题是,每当我包含boost时,每当我在对象名称后面加上“.”时,就会通过boost库发出叮当声。这需要5-10秒 由于我不更改boost头,有没有办法通过boost缓存搜索? 如果没有,有没有办法从自动完成搜索中删除boost 更新(1)以回应adaszko的回答 之后 :让g:clang_使用_库=1 我键入一个变量的名称 我按下^N。Vim开始在boost树中搜索。它自动完成变量 我按“.”并得到以下错误: 处理函数ClangComplete时检

我喜欢和vim一起使用铿锵

我经常遇到的一个问题是,每当我包含boost时,每当我在对象名称后面加上“.”时,就会通过boost库发出叮当声。这需要5-10秒

由于我不更改boost头,有没有办法通过boost缓存搜索? 如果没有,有没有办法从自动完成搜索中删除boost

更新(1)以回应adaszko的回答 之后 :让g:clang_使用_库=1

  • 我键入一个变量的名称
  • 我按下^N。Vim开始在boost树中搜索。它自动完成变量
  • 我按“.”并得到以下错误:
  • 处理函数ClangComplete时检测到错误: 第35行: 回溯(最近一次呼叫最后一次): 按ENTER键或键入命令继续 处理函数ClangComplete时检测到错误: 第35行: 文件“”,第1行,在 按ENTER键或键入命令继续 处理函数ClangComplete时检测到错误: 第35行: 名称错误:未定义名称“vim” 按ENTER键或键入命令继续 处理函数ClangComplete时检测到错误: 第40行: E121:未定义变量:l:res 按ENTER键或键入命令继续 处理函数ClangComplete时检测到错误: 第40行: E15:无效表达式:l:res 按ENTER键或键入命令继续 处理函数ClangComplete时检测到错误: 第58行: E121:未定义变量:l:res 按ENTER键或键入命令继续 处理函数ClangComplete时检测到错误: 第58行: E15:无效表达式:l:res 按ENTER键或键入命令继续 。。。而且没有汽车比赛

    更新(2) 不确定clang_complete是否应该使用boost解决该问题。没有插件的vim通过boost进行搜索。
    超级用户可以使用
    set include=^\\s*\\\\s*include\\\(因此,您至少有两个选项。选项1是设置
    g:clang\u use\u库
    1
    。以下是
    :help g:clang_use_library
    中的说明:

    直接使用libclang而不是调用clang/clang++工具
    允许访问更多的叮当声功能。此外,它会自动
    缓存内存中的所有内容。同一文件中的更改后的更新将
    因此要快得多。
    
    但这需要PythonVim集成的工作设置

    选项2是将
    g:clang\u complete\u auto
    设置为
    0
    ,通过该选项可以禁用 在
    ->
    之后自动完成,可以使用
    代替 要手动调用clang_complete,请随时执行

    我两者都使用。

    从中,您可以将以下内容添加到
    。vimrc

    :set include=^\\s*#\\s*include\ \\(<boost/\\)\\@!
    

    :设置包含=^\\s*#\\s*包含\\(我已经对clang_complete做了很多性能增强,您可以查看这个问题。问题的很大一部分是由于未优化的代码而导致脚本性能低下。

    Vim的变量g:clang_use_library的值是多少?@adaszko
    :让g:clang_use_library
    返回
    g:clang_use_library#0
    is将在未来的版本中得到改进。在我看来,它就像一个关于StackOverflow的单独问题的材料:-)
    :set include=^\\s*#\\s*include\ \\(<boost/\\)\\@!