2013-02-21 89 views
9

運行conque時,當VIM運行conque彈出,警告信息提示每一次:警告保持VIM

Warning: 
Global CursorHoldI and CursorMovedI autocommands may cause ConqueTerm to run slowly 

我發現了一個方法來刪除該警告是註釋掉的預警功能conque_term.vim,但我不認爲這是解決問題的體面和安全的方法。

我是VIM的新成員,所以我無法自己找出問題的根源。誰能幫忙?非常感謝!

+0

你的一些插件很可能確定這些事件'autocmd's。一個自動完成插件,也許還有一個標籤生成插件......爲'CursorHoldI'和/或'CursorMovedI'指定'〜/ .vim /'目錄,或者執行':verbose autocmd'來查看這些內容的定義。 – romainl 2013-02-21 07:55:11

+1

BE CAREFUL ...自動命令可能會導致ConqueTerm出現嚴重問題,它可能會導致打開的緩衝區被其輸出和各種其他令人討厭的東西覆蓋。它可能是危險的。對於任何使用攔截Cursor auto命令的插件的人,我都不會推薦它,因爲即使與少量這些命令混合在一起,也會發生不好的事情。只要記住不要意外地保存那些不好的變化,如果它們發生的話。嘗試禁用插件並重新啓用它們,以找到罪魁禍首。希望使用像vundle這樣的下午,這很容易做到這一點! – osirisgothra 2014-11-30 10:33:08

回答

6

Vim中的一個集成點是通過事件觸發自動命令; Conque插件本身使用這些來實現其功能。只要您輸入內容或在插入模式下移動光標,就會觸發CursorMovedI等事件;這可能會對性能產生影響,這就是警告的內容。

您可以通過列出所有這樣的自動命令:

:verbose autocmd CursorHoldI,CursorMovedI 

只要Conque很適合你,它也可以忽略(和抑制)的警告。但是,如果確實遇到問題,則需要檢查其他autocmd源並可能禁用一個或另一個插件(至少對於緩衝區來說是如此)。 (請參閱:help autocmd-remove瞭解如何執行此操作。)

+4

您還可以用'let g:ConqueTerm_StartMessages = 0'來禁止此警告(請參閱https://code.google.com/p/conque/wiki/Usage#3.1.8_Hide_start_messages) – 2014-02-25 11:27:12

2

偏離主題,但使用Ctrl + Z退回到shell並且fg返回到vim似乎比Conque的工作方式更好。那就是如果你在終端上使用vim,你應該這樣做。

一些啓示:http://statico.github.com/vim.html

+1

它不會「工作方式更好」,它是針對不同場景的不同工具。我喜歡在打開終端後立即啓動vim,這樣我就可以從conque中運行我的終端命令,以便它們將位於vim緩衝區內。這使我可以使用普通的vim命令在終端輸出中搜索,複製和跳轉。一旦你喜歡在vim中做這些事情的能力,你想要在任何地方做到這一點,尤其是終端。通常情況下,如果我需要運行單獨的vim實例,那麼我只能回到正常的終端,因爲通過conque在vim內運行vim不會很好。 – 2016-02-01 14:45:32