Vim 配置全完备和 ctag 问题

Vim configure for omnicompletion and ctags problems

本文关键字:ctag 问题 配置 Vim      更新时间:2023-10-16

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

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

但是,我仍然无法运行命令"ctags -R --c++ kinds=+p --fields=+iaS --extra=+q .",错误为非法ctags -R。谁能帮忙?多谢!

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

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

    sudo make uninstall

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

  • 接下来,从端口存储库安装 ctags,因此首先安装 Mac 端口,然后通过端口安装 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,就会弹出可能的标识符列表。