语法高亮在Vim中引起可怕的滞后
我喜欢Vim。但它现在给我很难的时间。
我使用了很多插件,在过去的6个月里,我发现了很多真棒的。但是我的Vim真的慢了。我做常量清理,但它没有帮助太多。 我在那里,Vim是完全不可用。感觉像它每秒2-5帧,切换标签/缓冲区大约一秒钟,用hjkl滚动是非常可怕的,滞后是如此糟糕,甚至在插入模式下输入一个句子是混乱(由于滞后)。 编辑:实际上,当我打开新的Vim实例的OK-ish,但在15分钟内,它变得不可用。 我刚刚花了4个小时试图找出哪个插件或配置导致的痛苦。我没有成功。 但是,我确实发现,删除此设置会导致所有的滞后: 这3行结合语法使一切更糟。 set t_Co=256 set background=dark colorscheme candyman 有趣。所以,语法高亮正在使Vim从超级snappy到令人难以置信的迟钝? 我试图在“干净”模式下启用语法: 它不是一个问题。 所以,似乎是一个问题是语法突出显示结合一个或多个我的插件。我试过禁用束,没有运气。 有什么办法做profiling吗?我手动测试相当耗尽。 有人有类似的经验吗?也许可以快速窥视我的.vimrc,看看有没有响铃。 解: 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。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |