2009-12-04 4 views
3

vim에 makeprg=xcodebuild을 설정하는 가장 좋은 방법은 무엇입니까?빔 : 설치하는 좋은 방법은 makeprg = xcodebuild?

나는 내 파일의 첫 번째 라인을 설정하여 (MATLAB에 반대 또는 CPP로) 파일이 목표 - C를 나타 내기 위해 파일의 파일 형식 라인을 사용하고

:

/* vim: set filetype=objc : */ 

이를 가진 의 vimrc에서 :

아마 현재 디렉토리에서이 명령을 실행 :mak을 사용할 것
set modelines=1 

:

xcodebuild -activetarget -activeconfiguration 

보통 xcodebuildmakeprg으로 수동 설정하므로 컴파일하려면 :mak을 수행 할 수 있습니다.

저는 프로젝트 파일을 검색하는 것에 대해 걱정할 필요가 없도록 항상 .xcodeproj 파일을 가지고있는 프로젝트 루트 디렉토리에 있습니다.

makeprg을 설정하는 가장 좋은 방법은 무엇입니까? Ftplugin? Compiler 플러그인?

감사합니다.

답변

1

나는 ftplugin이라고 말하고 싶습니다. 매우 쉽습니다. .vim/ftplugin/objc.vim이 쓰기 : 그것은 처음 10 개 라인 #include, #import, 또는 /*을 통지하는 경우

set makeprg=xcodebuild\ -activetarget\ -activeconfiguration 

은 또한, Vim의 파일 형식 검출기는 오브젝티브 C로 당신의하는 .m 파일을 고려할 것입니다. 기본값을 변경하려면 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 

그래서 당신이 정력을 시작할 때와 *가 있습니다. 현재 디렉토리에서 xcodeproj를 실행하면 makeprg가 xcodebuild로 설정됩니다.

+0

다른 디렉토리의 파일을 편집하면 작동하지 않습니다. 대신 local_vimrc (/project.vim)와 같은 솔루션을 사용하여 현재 편집 된 파일의 위치와 파일 유형이 objc인지 확인하여 올바른 : setlocal (및 not : set!)을 적용합니다. –

관련 문제