2

我有几个问题和一些使用 vim 作为 C# 编辑环境的问题。首先,我是 vim 的新手,所以这对我来说是一个学习过程,如果您提供任何建议和指导,我将不胜感激。其次,我在编译任何 cs 文件时遇到了一些问题。

我使用它作为我的 cs.vim 编译器:

 if exists("current_compiler")
  finish
endif
let current_compiler = "cs"

if exists(":CompilerSet") != 2      " older Vim always used :setlocal
  command -nargs=* CompilerSet setlocal <args>
endif

CompilerSet errorformat&
CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
            \%trror%*[^:]:\ %m,
            \%tarning%*[^:]:\ %m

execute 'CompilerSet makeprg=' . cs#get_net_compiler("csc.exe") . "\\ %

不确定我在哪里找到这个。但是,如果我在一个目录名称中有空格的目录中,我会收到一个错误,即找不到该文件进行编译。我想我需要告诉它逃离空格,但我该怎么做呢?

即使我切换回原始的 cs.vim 编译器文件,我也会遇到奇怪的问题并且它似乎无法编译:

在此处输入图像描述

除此之外,是否可以在 vim 中使用 C# 项目,并且在编译时让它识别引用等?

编辑:为澄清起见,我拥有并使用 Visual Studios 作为我的主要 IDE。我想学习更好地使用vim,所以我问了这些问题。

谢谢!

4

1 回答 1

3

就个人而言,我将 Vim 和 Visual Studio(安装了 VsVim)组合用于我的日常 C# 编码。我用纯 Vim 进行了较长时间的编辑,因为 VsVim 虽好,但与完整的 Vim 环境及其生态系统不同。没有什么比 Visual Studio 更适合交互式调试了。

为了获得编译器,我在我的 vimrc 中使用了以下设置,这些设置是从互联网的某些部分窃取和变形的:

set errorformat=\ %#%f(%l\\\,%c):\ %m
set makeprg=C:\\windows\\microsoft.net\\framework\\v4.0.30319\\msbuild.exe\ /nologo\ /v:q\ /property:GenerateFullPaths=true 

请注意,这集成了 MSBuild,因此适用于完整.sln文件——整个构建工作正常,无需处理单个文件。执行完整构建所需要做的就是运行:make

虽然不是严格要求,但我也喜欢这个标志:

set shellcmdflag=\/C

因为它确保cmd窗口自行关闭。

于 2012-10-16T18:36:24.860 回答