将vim设置为C++ IDE

15

我希望将vim设置为C++ IDE,这样我就可以从中完成所有工作。

我正在使用以下插件来配置vim:

    • Clang complete - 准确的补全
    • nerdtree - 浏览文件
    • snipmate - 插入代码片段
    • AutoComplPop - 全能补全
    • buffergator - 缓冲区管理
    • vim-powerline - 美观的状态栏
    • vundle - 管理插件

但我缺少像跳转到定义和编译多个文件为一个可执行文件,项目视图等功能...

我正在使用

nmap <F8> :w % <bar> :!g++ -W -Wall -Wextra -pedantic -std=c++11 % -o %:t:r<CR> <bar> :!./%:t:r<CR>

要编译当前文件,但如果有多个文件创建一个可执行文件,则无法正常工作。

我知道我可以使用eclipse、netbeans、code::blocks等,但我真的很喜欢vim... 如果没有vim ide这样的东西,我必须学习GNU构建系统或其他方法吗?

欢迎任何建议。


2
如果您编写了一个快速的 makefile(或者已经生成了一个),您只需要运行!make。 - daniel gratzer
2
@jozefg,!make 将仅运行外部 make 命令,这就是全部。在 vim 中有一个内置的 make 命令,它还将创建一个带有错误/警告的 quickfix 窗口。它更加有用。 - user1773602
4个回答

6

您需要创建一个处理构建过程的makefile。

然后在vim中运行:make,它将运行构建并在quickfix窗口中弹出所有错误,您可以在其中导航并跳转到错误位置。


有没有自动化创建makefile的方法? - RedSparrow
3
我知道这个帖子有点旧了,但你可以使用CMake。它相对容易使用,而且你的代码可以在不同的平台上编译。 - JohnJohn
虽然现在更老了,但我多年来一直在使用premake。我将一个vim键绑定到一个命令,让premake生成make文件,然后运行make,最后运行生成的可执行文件。 - undefined

2

首先,要跳转到定义,您可以尝试以下方法:

我没有测试过,所以无法告诉您它是否有效。

现在,要构建多文件项目,最好学习如何使用makefiles和automake。这些链接可能会对您有所帮助:

祝你好运。

编辑:类似的问题已经在此链接上得到解答:https://dev59.com/bnRB5IYBdhLWcg3wpYmo#563992


2
"跳转到定义"的功能已经存在,它是在关键字上按下 <C-]>,或者在命令行中输入 :tag foo。为了使其生效,您需要使用exuberant-ctags生成一个tags文件,并告诉Vim在哪里找到它。请参考 :help tags:help ctags
如果没有tags文件,gd会跳转到光标下的关键字定义(如果在同一文件中)。但它没有 <C-]> 那么通用。

一切都是正确的,但通常我会加上同样的建议:我建议不要手动处理ctags,而是使用插件Indexer(http://goo.gl/Q744m)代替,它会自动完成所有痛苦的工作:它会静默地生成您的标签,告诉Vim在哪里查找它,并保持标签最新。所有的工作都在后台完成,所以您不需要等待它。 - Dmitry Frank

1

对于"跳转到定义",我可以推荐YouCompleteMe插件,它非常容易与vundle一起设置。

另外还有ctags,但我觉得它不太有用。

要将vim用作IDE,我发现this文章很有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接