2009-12-04 1 views
3

Что можно установить makeprg=xcodebuild в vim?Vim: хороший способ настроить makeprg = xcodebuild?

Я использую типа файла строки в файлах, чтобы указать, что файл Objective-C (в отличие от MatLab или CPP), создав первую линию моего файла в:

/* vim: set filetype=objc : */ 

и с этим в vimrc:

set modelines=1 

я бы, вероятно, хотите использовать :mak для запуска этой команды в текущем каталоге:

xcodebuild -activetarget -activeconfiguration 

Обычно я устанавливаю вручную xcodebuild как makeprg, так что я могу сделать :mak компилировать.

Я всегда в корневом каталоге проекта, где у меня есть файлы .xcodeproj, поэтому мне не нужно беспокоиться о поиске файлов проекта.

Каков наилучший способ настройки makeprg? Ftplugin? Compiler плагин?

Любые идеи оценили.

ответ

1

Я бы сказал, ftplugin, это очень просто. Запишите это в .vim/ftplugin/objc.vim:

set makeprg=xcodebuild\ -activetarget\ -activeconfiguration 

Кроме того, детектор Filetype Vim будет рассматривать ваш файл .m быть Objective-C, если он замечает #include, #import или /* в первые десять строк. Вы можете написать ftdetect плагин для изменения значения по умолчанию: .vim/ftdetect/objc.vim:

autocmd BufNewFile,BufReadPost *.m set filetype=objc 
+1

+1, у меня не было ': filetype plugin on', поэтому я предполагаю, что он не загружал плагины filetype, я добавил его и теперь работает – stefanB

1

Вы могли бы поставить что-то вроде следующего в ваш .vimrc:

if len(glob(getcwd() . '/*.xcodeproj')) > 0 
    let &makeprg = 'xcodebuild' 
endif 

Итак, когда вы начинаете Vim и есть *. xcodeproj в текущем каталоге, он устанавливает makeprg в xcodebuild.

+0

Это не сработает, если он отредактирует файлы из разных каталогов, с разными типами файлов и т. д. Вместо этого я хотел бы использовать такое решение, как local_vimrc (/project.vim), чтобы определить, где находится отредактированный файл, и является ли его тип файла objc правильным: setlocal (а не: set!). –

Смежные вопросы