![]() |
1
9
|
![]() |
2
12
有很多问题。它们中的大多数已经通过独立的和通用的插件来解决。 关于什么是 项目 .给定一组文件在同一个目录中,每个文件都可以是一个项目的唯一文件——我总是有一个测试/目录,在该目录中托管宠物项目,或者在该目录中测试编译器的行为。相反,一组目录中的文件可以是同一个非常大的项目的一部分。 最后,真正定义一个项目的是一个(leaf)“makefile”--为什么要限制自己生成文件,那么scon、autotools、ant,(b)jam、aap呢?顺便问一下,sun makefiles还是gnu makefiles? 此外,我不认为让Vim知道当前项目中的确切文件有什么意义。即使如此,众所周知的 project.vim plugin 已经完成了任务。我个人使用 local_vimrc plugin (我维持着一个,我在旧金山见过另外两个)。使用这个插件,我只需将一个vimrc本地.vim文件放到一个目录中,其中定义的(:mappings、:functions、variables、:commands、:settings,…)将应用于目录下的每个文件——我在一个大项目中工作,该项目有十几个子组件,每个组件都位于自己的目录中,有自己的makefile(甚至没有命名)。makefile,或目录名) 关于C++代码理解每次我们想做一些复杂的事情(重构函数,比如重命名函数,重命名变量,从当前变量中生成开关,这是枚举,…),我们需要VIM来理解C++。大多数现有插件都依赖CTAG。遗憾的是,C++对CTAGS的理解是相当有限的——我已经写了一篇文章。 few advanced things 但是我经常被CTags提供的糟糕信息打断。CScope也不好。最后,我认为我们必须整合一个先进的工具,比如ELSA/Pork/IONK/Deshydra/… NB:那就是我现在集中精力的地方。 关于强力根我不知道跳到与当前令牌关联的doxygen定义有多困难。第一个困难是理解光标所在的位置(我想OmnicpComplete已经在这个方向上做了很多工作)。第二个困难将是理解doxygen如何从代码中为每个符号生成页面名称。 从一个doxygen页面的右代码行打开vim应该很简单,只需要一个greasemonkey插件。 关于调试器有 pyclewn project 对于那些在Linux下运行VIM,并使用gdb作为调试器的用户。不幸的是,它不支持像dbx这样的其他调试器。 对其他要求的响应:
我的
BuildToolsWrapper plugin
有一个
已经有几个插件解决这个问题。这与C++无关,它不能由C++套件来解决。 |
![]() |
3
2
我想在一个IDE中使用的东西我不提供:
毫无疑问,现在有人会说Eclipse可以做到这一点,但对我来说,它太慢了,太膨胀了。 |
![]() |
4
0
添加到 Neil's answer :
|
![]() |
5
0
不确定是否在Windows上开发,但如果是,我建议您签出 Viemu . 对于Visual Studio来说,它是一个很好的VIM扩展。我真的很喜欢将Visual Studio作为一个IDE(尽管我仍然认为VC6很难击败),所以vs的vim扩展非常适合我。我更喜欢在VIM IDE中工作得更好的特性是:
|
![]() |
6
0
对我来说,这只是必需品
我想说,不要定义项目——只需将整个文件分支作为“项目”的一部分,并让用户拥有一个设置文件来覆盖该默认值。 我看到的IDE和VIM用户在速度上的差别有99%是代码查找和导航。您需要能够对源代码树进行grep以获取短语(或使用ctags智能地查找正确的符号),显示所有点击量,然后像两个或三个击键一样切换到该文件。 所有其他的垃圾(如存储库导航或交互式调试)都是不错的,但是还有其他方法可以解决这些问题。我会说,甚至放弃交互式调试。只需专注于使IDES成为优秀的编辑器的原因——拥有项目的“大局”视图,而不是单个文件。 事实上,VIM有没有已经实现这一点的插件? |
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 5 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 5 月前 |