作者yoco315 (眠月)
看板Editor
标题[vim ] errormarker + AsyncCommand ?
时间Tue Nov 1 21:52:08 2011
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
2F:→ yoco315:超赞的XD现在每次存档,vim就会自动红字标出错误 11/02 12:20
3F:→ yoco315:有空再写一个中文版的 @@ 11/02 12:20
4F:推 cwyuptt:感谢大神分享,只好收藏了! 11/02 15:14
6F:→ yoco315:如果有发现虾米问题请好心告诉我谢谢 11/05 02:18
7F:推 cwyuptt:不好意思,不知道是不是我哪里做错了,存档会有错误讯息 11/05 05:02
8F:→ cwyuptt:Error detected while processing <SNR>16_AsyncMake: 11/05 05:05
9F:→ cwyuptt:line 8: 11/05 05:06
10F:→ cwyuptt:E117: Unknown function: asynchandler#quickfix 11/05 05:06
11F:→ cwyuptt:E116: Invalid arguments for function asynccommand#run 11/05 05:06
12F:→ cwyuptt:但是如果我手动执行 :make 的话,就可以自动标示出错误~ 11/05 05:08
13F:→ yoco315:会不会是vim版本的问题?我好像曾经遇过... 11/06 01:49
14F:→ yoco315:更新到最新版的 7.3 试试 11/06 01:50
15F:推 cwyuptt:我的版本就是 7.3 的 XD,我再研究看看,感谢大大! 11/06 05:19
16F:→ yoco315:我之前装 vim 不行,後来改装 vim-gtk 就可以了.. 11/06 17:29
17F:→ yoco315:我也不知道为什麽 XD 11/06 17:29
18F:推 cwyuptt:装完 vim-gtk 之後,用 gvim 成功了,好棒的功能,谢谢! 11/07 02:45
19F:→ yoco315:恭喜恭喜 XD 11/07 23:31