Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Vim中配置多个“make”开发环境_Vim - Fatal编程技术网

在Vim中配置多个“make”开发环境

在Vim中配置多个“make”开发环境,vim,Vim,在Vim中设置多个开发环境的最佳方法是什么,包括errorformat和makeprg之类的设置 例如,我通常使用GCC作为编译器/链接器,使用Scons作为构建工具来修改C代码,因此我设置makeprg=Scons,并为GCC适当地配置errorformat。然而,现在我正在使用maven校正Java,所以我想设置makeprg=mvn并以不同的方式配置errorformat。还可能有其他选项,如缩进样式、映射和命令,我希望根据我正在处理的内容进行设置 所以我要寻找的是一种发出单个命令的方法,

在Vim中设置多个开发环境的最佳方法是什么,包括errorformat和makeprg之类的设置

例如,我通常使用GCC作为编译器/链接器,使用Scons作为构建工具来修改C代码,因此我设置makeprg=Scons,并为GCC适当地配置errorformat。然而,现在我正在使用maven校正Java,所以我想设置makeprg=mvn并以不同的方式配置errorformat。还可能有其他选项,如缩进样式、映射和命令,我希望根据我正在处理的内容进行设置


所以我要寻找的是一种发出单个命令的方法,可以有效地说现在我正在使用C,或者现在我正在使用Java等等,并配置适当的设置。定义命令/函数是最简单的方法,还是有更好的方法?

您可以在vimrc中执行类似的操作,以便在文件类型更改时更改本地设置,这在加载新缓冲区时发生:

if has("autocmd")
    autocmd FileType c     setlocal makeprg=mvn      errorformat=this
    autocmd FileType java  setlocal makeprg=whatever errorformat=that
endif

如果您希望根据检测到的文件类型手动而不是自动,请设置键盘映射,请参见:help map命令。

事实证明,正是出于这个原因,有一整套编译器插件,以及一个:compiler命令来设置它。所以我可以修改我自己的编译器插件来设置我想要的选项。作为参考,这些都存储在例如\vim74\compiler\中。

我想知道类似于undo\u ftplugin的东西是否有助于实现这一点?