将 vim 设置为C++ IDE
Setting up vim as C++ IDE
我希望将 vim 设置为C++ IDE,以便我可以从中完成所有工作。
我正在将这些插件用于 vim:
-
- 叮当完成 - 准确完成
-
- 书树 - 浏览文件
-
- 截图-插入片段
-
- AutoComplPop - 全能完成
-
- 缓冲器 - 缓冲管理
-
- 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构建系统或其他方法吗?
欢迎任何建议。
您需要创建一个处理构建过程的生成文件。
然后从 vim 只需运行 :make
,它将运行构建并在quickfix
窗口中弹出所有错误,您可以在其中导航并跳转到错误位置。
首先,要跳转到定义,您可以尝试以下操作:
- http://www.santiagolizardo.com/article/vim-jump-to-classes-and-functions-defined-in-different-files/64003
我还没有测试过它,所以我不能告诉你它是否有效。
现在,要构建多个文件项目,最好学习如何使用makefile和automake。这些链接可能会帮助您:
-
http://homepages.gac.edu/~mc38/2001J/documentation/g++.html
-
http://www.openismus.com/documents/linux/automake/automake
祝你好运。
编辑:在此链接上回答了类似的问题:https://stackoverflow.com/a/563992/1820837
跳转到定义"已经存在,它<C-]>
光标在关键字上或:tag foo
命令行上。
要使这些工作,您需要一个由 exuberant-ctags 生成的tags
文件,并告诉 Vim 在哪里可以找到它。请参阅:help tags
和:help ctags
。
如果没有tags
文件,如果关键字位于同一文件中,则gd
转到光标下关键字的定义。但它不像<C-]>
那样普遍有用.
对于"跳转到定义",我可以推荐YouCompleteMe,它很容易使用vundle进行设置。
否则也有 ctags,但我发现它不太有用。
要使用 vim 作为 IDE,我发现这篇文章很有用。
- C++:如何在CLion IDE中安装Boost
- IDE (CLion) 无法解析C++模板类型
- macOS 是内置在 clang 编译器中还是内置于 xcode ide 中?
- 为什么联机C++ IDE 不支持"graphics.h"头文件?
- Arduino IDE 中使用 strncmp 函数时出错
- C++ IDE 不会推断/自动完成对模板类中的 std::array 下标表达式的成员访问
- 使用 TDM-GCC 4.9.2 的 DevC++ IDE 中的额外限定错误
- C++ 程序在代码块 IDE 中不起作用
- 程序在CLion IDE中工作,但exe不起作用
- MSBuild 由于缺少属性文件(可能与 IDE 相关)而无法生成 Visual Studio 项目
- IDE 认为函子是构造函数?
- 如何使用VB经典IDE在VB脚本中调试ActiveX应用程序
- VIsual Studio:避免控制台弹出,而是将其集成到IDE中
- C++头和实现,(为什么)它不是由IDE/编译器自动处理的
- Eclipse IDE C/C++ 自动包含来自定制构建脚本的路径
- 为什么以下代码在在线 ide(gcc 7.2.0) 上有效,但在 ubuntu 上出现错误?
- Arduino IDE 错误 - 无法找到数字文字运算符"运算符""f900ff"
- 无法在代码块 IDE 中打开输出文件.exe
- 为什么这个C++程序在代码::块和在线 IDE 之间返回不同的结果?
- 在 C++ 中对"Class::function()"错误的未定义引用 [CLion IDE]