VIM:有没有一种简单的方法可以从 Vim 管理 Visual Studio 解决方案/makefile 项目? [关闭]

Posted

技术标签:

【中文标题】VIM:有没有一种简单的方法可以从 Vim 管理 Visual Studio 解决方案/makefile 项目? [关闭]【英文标题】:VIM: is there an easy way to manage Visual Studio solutions / makefile projects from Vim? [closed] 【发布时间】:2010-11-10 07:31:31 【问题描述】:

我尝试使用 Visual Studio 代替 VIM(+插件),但说实话 - VS 优于 VIM 的唯一优势是它能够自动管理我的项目。

我知道 ViEmu for VS 的存在,但我想做相反的事情 - 有没有办法从 VIM 中管理项目?

我尝试了c.vim 插件和Project 插件,但是:

在 windows 上使用 c.vim 时遇到问题(据我记忆,文件路径中的“斜杠”有一个错误)。 Project 允许组织项目,但它缺少生成 makefile / msbuild 文件的功能(或者我错了吗?)。

是否有任何提示/解决方案/技巧可以让我使用 VIM 来管理我的项目? (理想情况下,同时使用 makefile 和 MSBuild 文件,但只使用一种类型的构建文件就足够了。)

【问题讨论】:

相关问题:***.com/questions/1115876/autocompletion-in-vim(不是完全重复的)。 【参考方案1】:

要将 vim 与 devenv 集成,您可以使用 Visual Studio 中的 devenv 在 vi​​m 中编译项目。命令如下:

Devenv SolutionName /build SolnConfigName [/project ProjName [/projectconfig ProjConfigName]]

通常,devenv 应该位于 C:\Program Files\Microsoft Visual Studio 8\Common7\IDE。将其设置为环境路径以使其可从 vim 调用。我们还需要让 vim 识别命令行构建工具 devenv 抛出的错误信息。只需将以下几行放入您的 vimrc 中:

" Quickfix mode: command line devenv error format
au FileType cpp set makeprg=devenv.com\ /Build\ Debug\ *[SolutionName]*
au FileType cpp set errorformat=\ %#%f(%l)\ :\ %#%t%[A-z]%#\ %m

然后你可以使用 :make 从 vim 编译和构建程序。

【讨论】:

【参考方案2】:

我立即想到的是Eclim 项目,它为 Vim 带来了 Eclipse 功能。然后你也许可以从 Eclipse 管理你的 VS 项目,我不知道有什么项目可以做到这一点,但我怀疑有些项目存在。

【讨论】:

【参考方案3】:

也许我不明白这个问题。

VS 是功能齐全的 IDE - 您无需离开它即可编辑、编译和调试。

相比之下,vim 不是 IDE——它非常强大的文本编辑器。然而 vim 有一些面向程序员的内置功能(例如 :make 命令、编译、自动缩进等)。 vim 来自 Unix 世界,那里有几个构建工具(make、scons、cmake 等)。如您所知,您可以使用远未完成的插件“集成”它们。

我认为你一开始尝试做的事情是正确的——将 vim 编辑功能带入 VS 世界。

【讨论】:

【参考方案4】:

您是否查看过其他构建工具(nant 是 .net 中最流行的)?

Nant 比 msbuild 简单得多,您可以在几行内创建一个简单的构建文件并轻松与 vims makeprg 集成。

【讨论】:

【参考方案5】:

您不必维护 Visual Studio 项目文件来管理您的源代码。有很多预生成工具可用于生成您的 Visual Studio 项目文件。比如 CMake、Premake 等等。这样你就不会被复杂的 VC 项目设置逼疯了,而且还带来了跨平台的可能性。

所以在vim中,你可以通过物理文件夹来拆分你的项目,然后使用Cmake脚本定义生成项目的规则。

当有文件添加/删除时,你重新生成你的 VC 项目,然后调用 Cmake,它会调用 msbuild 来编译你的项目。

您可以使用 vim 插件 YouCompleteMe 获得编译器级别的智能。

您可以编写简单的 vim 脚本来启动已编译的可执行文件。

您还期待什么? :)

【讨论】:

以上是关于VIM:有没有一种简单的方法可以从 Vim 管理 Visual Studio 解决方案/makefile 项目? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在vim中注释/取消注释多个固定行

Vim 自定义补全利器 Snippet

都 2018 年了,还有必要学 Vim 吗?

如何在vim中删除N行中的第一个字符?

时至 2018 年,还有必要学 Vim 吗?

vim程序编辑器