2012-06-14 63 views
6

我希望能夠在vim內構建和運行Go代碼,並在存在編譯錯誤的情況下訪問quickfix窗口。Vim makeprg和errorformat for Go

實現的東西接近這個與Java添加以下到我的.vimrc:

autocmd Filetype java set makeprg=ant\ -find\ build.xml 
autocmd Filetype java set efm=%A\ %#[javac]\ %f:%l:\ %m,%-Z\ %#[javac]\ %p^,%-C%.%# 

我已經在我的.vimrc目前爲如下圍棋:

autocmd Filetype go set makeprg=go\ run 

我能必須使:make(或:make %)的行爲就像一個很好的'ol C程序,具有漂亮的錯誤報告和輸出緩衝區之下的輸出?

+0

你需要的是一個用於'ant'的編譯器文件......那裏已經有一個了。你試過Google嗎?也有使用vim作爲Java的IDE的指南;配置應該是相同的,除非你使用golang語法。 – kprobst

+1

據我所知,ant只適用於Java,而不是Go(與Java無關,不使用JVM等)。我只是用Java作爲我爲其他語言所做的一個例子。 – lyallcooper

+1

一旦我試圖爲NAnt製作一個'errorformat'行......並放棄。它太神祕了,難以迭代測試,就像vim的大部分腳本工具一樣。我喜歡vim,但也有一些令人沮喪的事情,特別是因爲我知道它可以完成。這太難了,沒有足夠的新的非Unixy的例子。 – kprobst

回答

3

對於情況下,當前工作目錄是由一個單獨的程序或庫,以下工作正常的Vim:

autocmd Filetype go set makeprg=go\ build 

對於情況下,有要編譯只有一個文件,我重寫此:

:set makeprg=go\ build\ hello.go 

更多信息可在jnwhiteh的vim-golang找到。

+0

但是錯誤報告和quickfix窗口呢? – lyallcooper

+0

哦,而且我所做的只是一個單獨的命令,調用':make%'然後用':copen'打開quickfix窗口,通常映射到像F7這樣的鍵。 ('map :make%:copen ')。 – lyallcooper