【问题标题】:Vim configure for omnicompletion and ctags problemsVim 为omnicompletion 和ctags 问题配置
【发布时间】:2012-06-23 06:13:50
【问题描述】:

我刚开始使用vim半个月,因为我想用它来编写C++代码,所以我只是安装了omnicompletion来自动完成代码。

但是,当我按照omnicppcomplete.txt上的说明进行操作时(我下载了Exuberant Ctags并使用“./configure && make && sudo make install”命令安装),我发现它仍然弹出错误(ctags - R 非法命令),为了避免使用我的 mac 已有的 ctags,我在我的 .zshrc 文件中添加了“export PATH=/usr/local/bin:$PATH”,并添加了“let Tlist_Ctags_Cmd='/usr/local /bin/ctags'" 在我的 .vimrc 文件中。

但是,我仍然无法运行命令“ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .”,错误为非法 ctags -R。 任何人都可以帮忙吗?非常感谢!

【问题讨论】:

  • 你是从 vim 还是从 shell 运行命令? Vim 中:echo $PATH 和shell 中$ echo $PATH 的输出是什么?
  • 我在我的 shell(zsh) 中运行这些命令,当我运行 echo $PATH 时,结果是 echo $PATH /usr/bin:/bin:/usr/sbin:/sbin: /usr/local/bin:/usr/X11/bin:/usr/texbin 谢谢! @romainl
  • 在 Vim 中,对 echo $PATH 的命令无效
  • 这很奇怪。 :echo $PATH 是“经典”。尝试 :echo $ 后跟 <tab> 以查看所有可用的环境变量。
  • 忘记omnicppcomplete,转至clang_complete。官方website和here上的说明

标签: c++ vim ctags


【解决方案1】:

关键是你在 mac 上并且应该使用 mac-ports 来覆盖 osx 标准 ctags,而不是你的 ctags 的自定义构建。这应该会让你回到正轨

  • 卸载您从源代码构建的 ctags:在您构建它的 src 目录中尝试

    sudo make uninstall

  • 安装端口后打开一个新的 shell(从 .profile/.zshrc 等加载新的系统配置)

  • 接下来,从 port 仓库安装 ctags,所以首先安装 Mac Ports,然后通过 ports 安装 ctags:

    sudo port install ctags

  • 如果您使用端口的默认安装位置,您的 shell-rc 文件应将 PATH 指向 /opt/local/bin。您的 ctags(带有 -R 支持)应该在 (/opt/local/bin/ctags) 中,但要确保 100% 确保通过键入以下内容检查您的系统在哪里找到它:

    which ctags

    应该给你

    /opt/local/bin/ctags

  • 现在从 vim (:echo $PATH) 中检查您的 PATH,它应该预先添加端口目录 (/opt/local/bin)。

要在 vim 中测试代码完成(不是自动完成)(假设 vim 指向正确的 :tags 文件,请阅读 :tags 的帮助),您无需安装任何东西。

  • 只需在插入模式下输入Ctrl-N,就会弹出可能的标识符列表。

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 2011-01-06
    相关资源
    最近更新 更多