首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用备用.clang_complete文件

使用备用.clang_complete文件
EN

Stack Overflow用户
提问于 2014-07-05 16:22:24
回答 1查看 972关注 0票数 0

默认情况下,clang_complete插件从vim的path变量中读取编译器标志。这不一定是可取的,因为path用于其他目的,这意味着可能需要修改变量、跟踪.clang_complete文件的位置等等。如果有一个选项只指定要包含的文件,就会简单得多。

没有,但有这样的情况:

g:clang_auto_user_options -auto_user_options 为传递给clang的用户选项设置源。现有资料来源如下: ..。 { as } on将以下列方式作为自定义选项源处理:clang_complete将尝试加载名为getopts#{任何}#getopts的自动加载函数,然后该函数将能够修改b:clang_user_options变量。如果您不知道自动加载的帮助是什么,会查看它的帮助。

所以我已经明确指出:

代码语言:javascript
代码运行次数:0
运行
复制
let g:clang_auto_user_options = "clangcompl"

并创建了一个带有函数的文件autoload/getopts/clangcompl.vim

代码语言:javascript
代码运行次数:0
运行
复制
function clangcompl#getopts ()

这个函数加载,但是clang_complete不使用它,我得到了错误:

代码语言:javascript
代码运行次数:0
运行
复制
Error detected while processing function <SNR>14_ClangCompleteInit..LoadUserOptions:
line   20:
E117: Unknown function: getopts#clangcompl#getopts

这是我对vimscript的第一次尝试,所以任何技巧都会受到赞赏。我哪里出错了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-05 16:47:29

您需要在声明中包含相对路径,而不仅仅是文件和函数名:

代码语言:javascript
代码运行次数:0
运行
复制
function getopts#clangcompl#getopts ()
        let files = expand("~/.vim/clang_opts/*", 0, 1)
        for f in files
                let opts = readfile(f)
                for o in opts
                        let b:clang_user_options .= " ".o
                endfor
        endfor
endfunction

这将使用~/.vim/clang_opts中的任何内容作为.clang_complete文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24588339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档