看板 Editor 關於我們 聯絡資訊
errormarker http://www.vim.org/scripts/script.php?script_id=1861 可以把 compile error 用 highlight 標示出來,而且 gvim 還附有 tooltip 圖示 http://mh21.piware.de/vim-error-markers-doxygen.png
AsyncCommand http://www.vim.org/scripts/script.php?script_id=3431 可以在背景執行動作,執行完還可以把結果送回來 其中有一個 AsyncMake,可以在背景 make make 結束以後錯誤會被讀入到 QuickFixList ============================================================================= 我現在希望把這兩個東西混合在一起用, 這樣比方說我只要按一下 <F5> 背景就在 make, 而且 make 完以後,錯誤也會自動被標示出來。 我把兩個 script 都裝起來了,不過卻沒有效果, 我爬了一下原始碼,發現 errormarker 是去 hook QuickFixCmd event, augroup errormarker autocmd QuickFixCmdPost make call <SID>SetErrorMarkers() augroup END 然後呼叫 SetErrorMarkers() 函數, 但是 AsyncMake 好像不會觸發 QuickFixCmd event, 所以 errormarker 就沒有呼叫到 SetErrorMarkers() 函數, 我嘗試亂改了一下 script,不過沒有任何進展,主要也是因為我不太知道怎麼改, 不知道有沒有前輩願意投入一點時間嘗試看看? ============================================================================= 如果這邊能突破的話, 接下來我打算加上在背景每隔固定時間(或每次存檔)AsyncMake 一次的功能, 這樣就可以持續的讓畫面上顯示出錯誤的地方。 如果能作到的話,這樣會比 Eclipse CDT 的語意分析還要好, 因為 Eclipse CDT 的語意分析準確度並不是 100%, 尤其是在 template 頻繁使用的狀況下。 -- To iterate is human, to recurse, divine. 遞迴只應天上有, 凡人該當用迴圈.   L. Peter Deutsch -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 182.235.170.158
yoco315:自己解決了!http://stackoverflow.com/q/7963021/108565 11/02 12:19
yoco315:超讚的XD現在每次存檔,vim就會自動紅字標出錯誤 11/02 12:20
yoco315:有空再寫一個中文版的 @@ 11/02 12:20
cwyuptt:感謝大神分享,只好收藏了! 11/02 15:14
yoco315:寫好了 @@ 部落格 http://tinyurl.com/4336a23 11/05 02:18
yoco315:如果有發現蝦米問題請好心告訴我謝謝 11/05 02:18
cwyuptt:不好意思,不知道是不是我哪裡做錯了,存檔會有錯誤訊息 11/05 05:02
cwyuptt:Error detected while processing <SNR>16_AsyncMake: 11/05 05:05
cwyuptt:line 8: 11/05 05:06
cwyuptt:E117: Unknown function: asynchandler#quickfix 11/05 05:06
cwyuptt:E116: Invalid arguments for function asynccommand#run 11/05 05:06
cwyuptt:但是如果我手動執行 :make 的話,就可以自動標示出錯誤~ 11/05 05:08
yoco315:會不會是vim版本的問題?我好像曾經遇過... 11/06 01:49
yoco315:更新到最新版的 7.3 試試 11/06 01:50
cwyuptt:我的版本就是 7.3 的 XD,我再研究看看,感謝大大! 11/06 05:19
yoco315:我之前裝 vim 不行,後來改裝 vim-gtk 就可以了.. 11/06 17:29
yoco315:我也不知道為什麼 XD 11/06 17:29
cwyuptt:裝完 vim-gtk 之後,用 gvim 成功了,好棒的功能,謝謝! 11/07 02:45
yoco315:恭喜恭喜 XD 11/07 23:31