加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 09:22:07 所属栏目:安全 来源:网络整理
导读:我喜欢Vim。但它现在给我很难的时间。 我使用了很多插件,在过去的6个月里,我发现了很多真棒的。但是我的Vim真的慢了。我做常量清理,但它没有帮助太多。 我在那里,Vim是完全不可用。感觉像它每秒2-5帧,切换标签/缓冲区大约一秒钟,用hjkl滚动是非常可怕
我喜欢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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读