[英]Set makeprg to VIM function?
我正在使用VIM處理Visual Studio解決方案,我編寫了一個函數,從當前文件向上搜索文件系統並找到第一個* .sln文件。
我想做的是這樣的:
function! BuildSLN()
" FindSLN is my function that locates the sln "
let slnfile = FindSLN()
if slnfile != ""
execute "!devenv " . slnfile . " /Build Debug"
endif
endfunction
CompilerSet makeprg=:call BuildSLN()
這樣,我可以使用我當前設置的鍵綁定:make
來構建解決方案文件。
這可能嗎?
我找到了一個解決方案,雖然技術上不是我自己問題的答案:)
因為每當我進入C#或VB.net緩沖區時我都會加載編譯器設置,我只是這樣做:
let &l:makeprg='"devenv.com "' . FindSLN() . '" /Build Debug"'
在編譯器設置文件中。 這給了我想要的效果,但是從技術上講它並沒有將makeprg設置為一個函數,該函數將在以下情況下進行評估:make
被調用,就像最初請求的那樣。
您可以定義映射/函數/命令/ whatver:
就個人而言,當我從一個目錄( 我與一個項目關聯 )編輯一個文件時,我寧願設置makeprg。 還有一些映射可以切換編譯模式方面(調試/發布,后台/不兼容,目標(交叉編譯/不),多線程編譯/不等)。 每次更改其中一個方面時,我都會更新makeprg。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.