2013-02-21 42 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