我正在使用VIM處理Visual Studio解決方案,並編寫了一個從當前文件向上搜索文件系統並查找第一個* .sln文件的函數。將makeprg設置爲VIM功能?
我想要做的是這樣的:
這樣一來,我可以用我的當前設置的鍵綁定爲:make
來構建解決方案文件。
這可能嗎?
我正在使用VIM處理Visual Studio解決方案,並編寫了一個從當前文件向上搜索文件系統並查找第一個* .sln文件的函數。將makeprg設置爲VIM功能?
我想要做的是這樣的:
這樣一來,我可以用我的當前設置的鍵綁定爲:make
來構建解決方案文件。
這可能嗎?
我已經找到了解決辦法,雖然不是技術上的答案,我自己的問題:)
由於我加載每當我進入一個C#或VB.net緩衝編譯器設置,我只是要做到:
let &l:makeprg='"devenv.com "' . FindSLN() . '" /Build Debug"'
在編譯器設置文件中。這給了我想要的效果,但是它在技術上不會將makeprg設置爲在調用:make
時將被評估的函數,就像最初請求的那樣。
您可以定義的映射/功能/命令/ whatver說:
就我個人而言,當我編輯目錄中的文件(that I associate to a project)時,我寧願設置makeprg。和幾個映射切換編譯模式方面(調試/釋放,背景/否,目標(交叉編譯/否),多線程編譯/否)等。每當其中一個方面發生變化時,我都會更新makeprg。
我發現了一個解決方案,雖然在技術上不是我自己的問題的答案:)因爲我每次進入C#或VB.net緩衝區時加載編譯器設置,我只是在做一個'let&l:makeprg =' 「devenv.com」。 FindSLN()。 '「/ Build Debug」「在編譯器設置文件中。我會留下這個問題,但讓其他人有機會回答。 – rossipedia 2011-03-29 17:06:57
最好將解決方案作爲答案發布。 – 2011-07-31 09:58:39
儘管沒有嚴格回答您的問題,但我發現我最喜歡的工作流是將':cd'(或更改':Ex'中的dir)到項目的根目錄。然後你可以簡單地':set makeprg = msbuild'。 – 2013-01-30 13:50:49