2012-03-30 2 views
3

Makefile이있는 경우 :make 명령이 정상적으로 실행되기를 원합니다. 그렇지 않으면 compile이라는 맞춤 스크립트를 실행하고 싶습니다. 파일이 없으면 정상적으로 작동하지 않게하고 싶습니다 (이상적으로는 편집 화면을 벗어나지 않는 것이 좋습니다).Makefile이없는 경우 vimrc makeprg를 Makefile에 설정하십시오.

저는 this thread을 알고 있습니다. 나는 내 요구에 맞게 조정할 수있는 bash 표현을 제공합니다. 예외적으로 나는 때때로 bash 이외의 쉘을 돌릴 필요가있다. 이 작업을 수행 할 수있는 쉘 독립적 인 방법이 있습니까?

+0

언급 된 bash 표현식은 gnuplot 스크립트에서 이와 비슷하게 보입니다. .vim/after/ftplugin/gnuplot.vim에서 :'''setlocal makeprg = ([[\ -f \ Makefile \]] \ && \ (make \ $ *; \ true) \\\ | \\\ | \ gnuplot \ -persist \ % \ $ *)''' – Hotschke

답변

1

makeprg은 실행 파일의 이름으로 설정할 수 있습니다. Makefile이 있으면 make을 실행하는 쉘 스크립트를 만들거나 그렇지 않으면 compile을 실행합니다.

+1

목표는 vimrc에서하는 것이므로 모든 프로젝트마다 그런 파일을 만들 필요가 없습니다. – mgold

+0

그런 경우,'make' 옵션의 값과 함께'shell' 옵션의 값을 변경할 수 있습니까? – chepner

+0

아, 글쎄, 나는 그것을 피하려고 노력했다. 그러나 확실히': set shell =/bin/bash'가 트릭을 했으니까요. – mgold