语法高亮在Vim中引起可怕的滞后

前端之家收集整理的这篇文章主要介绍了语法高亮在Vim中引起可怕的滞后前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我喜欢Vim。但它现在给我很难的时间。

我使用了很多插件,在过去的6个月里,我发现了很多真棒的。但是我的Vim真的慢了。我做常量清理,但它没有帮助太多。

我在那里,Vim是完全不可用。感觉像它每秒2-5帧,切换标签/缓冲区大约一秒钟,用hjkl滚动是非常可怕的,滞后是如此糟糕,甚至在插入模式下输入一个句子是混乱(由于滞后)。

编辑:实际上,当我打开新的Vim实例的OK-ish,但在15分钟内,它变得不可用。

我刚刚花了4个小时试图找出哪个插件或配置导致的痛苦。我没有成功。

但是,我确实发现,删除此设置会导致所有的滞后:
语法on

这3行结合语法使一切更糟。

set t_Co=256
set background=dark
colorscheme candyman

有趣。所以,语法高亮正在使Vim从超级snappy到令人难以置信的迟钝?

我试图在“干净”模式下启用语法:
vim -u NONE

它不是一个问题。

所以,似乎是一个问题是语法突出显示结合一个或多个我的插件。我试过禁用束,没有运气。

有什么办法做profiling吗?我手动测试相当耗尽。

有人有类似的经验吗?也许可以快速窥视我的.vimrc,看看有没有响铃。
https://bitbucket.org/furion/dotfiles

解:
导致混乱的插件是:

Bundle "gorodinskiy/vim-coloresque.git"

我建议阅读答案tho,好的见解。

编辑(1个月后):coloresque插件已经看到一些改进。

您有自动垃圾邮件。您应该将所有autocmd语句包含在清除组中的组中,然后重新添加autocmd。它看起来像你的.vimrc有大多数autocmds注释,所以也许有一个插件是导致的问题。检查此命令的输出
:au CursorMoved

如果有一堆重复的处理程序,那是你的问题。

这里有一个从my .vimrc的autocmd学科的例子:

augroup vimrc_autocmd
  autocmd!
  "toggle quickfix window
  autocmd BufReadPost quickfix map <buffer> <leader>qq :cclose<cr>|map <buffer> <c-p> <up>|map <buffer> <c-n> <down>

  autocmd FileType unite call s:unite_settings()
  " obliterate unite buffers (marks especially).
  autocmd BufLeave \[unite\]* if "nofile" ==# &buftype | setlocal bufhidden=wipe | endif

  " Jump to the last position when reopening a file
  autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif

  " ...etc...

augroup END

自动!在augroup块的开头,清除当前组(在这种情况下为vimrc_autocmd),然后重新添加autocmds。

猜你在找的Bash相关文章