Vim:设置makeprg=xcodebuild的好方法是什么?

3

如何在vim中最好地设置makeprg=xcodebuild

我使用文件类型行来指示文件是objective-c(而不是matlab或cpp),方法是通过将文件的第一行设置为:

/* vim: set filetype=objc : */

如果在vimrc文件中添加以下内容:

set modelines=1

我会选择使用:mak在当前目录下运行此命令:

xcodebuild -activetarget -activeconfiguration

我通常会手动设置xcodebuild作为makeprg,这样我就可以使用:mak进行编译。

我总是在项目的根目录中,那里有.xcodeproj文件,所以我不必担心搜索项目文件。

如何最好地设置makeprg呢?FtpluginCompiler插件?

欢迎任何想法。

2个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
1

我会说ftplugin,非常简单。在.vim/ftplugin/objc.vim中写入以下内容:

set makeprg=xcodebuild\ -activetarget\ -activeconfiguration
此外,Vim 的文件类型检测器会在前十行中发现 #include#import/* 时将您的 .m 文件视为 Objective-C。您可以编写一个 ftdetect 插件来更改默认设置:.vim/ftdetect/objc.vim
autocmd BufNewFile,BufReadPost *.m set filetype=objc

1
+1,我没有使用:filetype plugin on,所以我猜它没有加载文件类型插件,现在我已经添加了它,它正在工作。 - stefanB

1
你可以将以下内容放入你的 .vimrc 文件中:
if len(glob( getcwd() . '/*.xcodeproj' )) > 0
    let &makeprg = 'xcodebuild'
endif

所以当您启动vim并且当前目录中有*.xcodeproj文件时,它会将makeprg设置为xcodebuild。


如果他从不同的目录中编辑文件,使用不同的文件类型等,则此方法将无法正常工作。 我会选择使用类似local_vimrc(/project.vim)的解决方案来检测当前正在编辑的文件位置以及其文件类型是否为objc,以应用正确的:setlocal(而不是:set!)。 - Luc Hermitte

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,