2012-11-19 53 views
13

我希望将vim设置为C++ IDE,以便我可以完成所有工作。将vim设置为C++ IDE

我使用这些插件VIM:

    • 锵完整的 - 准确的完成
    • nerdtree - 浏览文件
    • snipmate - 插入片段
    • AutoComplPop - 全方位完成
    • buffergator - 缓冲管理
    • VIM电力线 - 好的状态栏
    • 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

如果你写一个快速生成文件(或者生成一个),你可以运行!make – jozefg

+2

@jozefg,'!make'只会运行外部make,就是这样。在vim中有内置的'make'命令,它还会创建一个带有错误/警告的'quickfix'窗口。它更有用 – 2012-11-19 15:16:13

回答

5

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

从VIM

然后只需运行:make,它将运行构建和流行在quickfix窗口,您可以导航,并跳转到错误位置的所有错误。

+0

任何可以自动创建makefile的方法? – RedSparrow

+2

我知道这个线程是旧的,但你可以使用cmake。它的使用相对简单,您的代码可以在不同的平台上编译。 – JohnJohn

1

首先,跳转到定义,你可以试试这个:

我没有测试过,所以我不能告诉你,如果它的工作原理。

现在,要构建多个文件项目,最好学习如何使用makefile和automake。这些链接可以帮助您:

好运。

编辑:类似的问题得到回答此链接:https://stackoverflow.com/a/563992/1820837

0

“跳转到”已经存在,它是<C-]>用光标在命令行上的关键字或:tag foo

对于这些工作,您需要exuberant-ctags生成的tags文件,并告诉Vim在哪里可以找到它。见:help tags:help ctags

如果没有tags文件,gd会转到光标所在的关键字的定义,如果它在同一个文件中。但它不如<C-]>一般有用。

+0

一切都是正确的,但是,通常我会添加相同的建议:我建议不要手动处理ctags,而是使用插件Indexer(http://goo.gl/Q744m),它会自动执行所有痛苦的工作:它默默地生成你的标签,告诉Vim在哪里寻找它,并且让标签保持最新状态。所有的工作都是在后台完成的,所以你不需要等待。 –

0

对于“跳转到定义”,我可以推荐YouCompleteMe,这个插件很容易用vundle进行设置。

否则也有ctags,但我觉得它没那么有用。

要使用vim作为IDE,我发现this后有用。