2012-03-30 103 views
3

如果存在Makefile,我希望:make命令正常執行。否則,我希望它執行一個自定義腳本,稱爲compile。如果這兩個文件都不存在,我希望它優雅地失敗(最好不要離開編輯屏幕)。如果沒有Makefile,請將vimrc makeprg設置爲自定義腳本

我知道this thread,它提供了一個bash表達式,我能夠適應我的需要。除了我有時需要運行除bash以外的shell。有沒有一種與shell無關的方式來做到這一點?

+0

提到的bash表達式對於gnuplot腳本可能看起來像這樣。在.vim/after/ftplugin/gnuplot.vim中:'''setlocal makeprg =([[\ -f \ Makefile \]] \ && \(make \ $ *; \ true)\\\ | \\\ | \ gnuplot \ -persist \%\ $ *)''' – Hotschke 2014-05-22 12:31:43

回答

1

makeprg可以設置爲任何可執行文件的名稱。如果有Makefile,則創建一個運行make的shell腳本,否則運行compile,否則返回。

+1

目標是在vimrc中執行它,所以我不必爲每個項目都創建一個這樣的文件。 – mgold 2012-03-30 01:07:15

+0

在這種情況下,你可以改變'shell'選項的值與'makeprg'選項的值一致嗎? – chepner 2012-03-30 01:16:15

+0

啊,好吧,我試圖避免這種情況。但是肯定':set shell =/bin/bash'完成了這個伎倆,所以我會去做。 – mgold 2012-03-30 02:06:52

相關問題