簡體   English   中英

將makeprg設置為VIM功能?

[英]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
  • 執行:make
  • 如果出現錯誤,執行a:copen。

就個人而言,當我從一個目錄( 我與一個項目關聯 )編輯一個文件時,我寧願設置makeprg。 還有一些映射可以切換編譯模式方面(調試/發布,后台/不兼容,目標(交叉編譯/不),多線程編譯/不等)。 每次更改其中一個方面時,我都會更新makeprg。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM