如果我打开一个包含5,000行代码的文件并继续输入,我发现我的vim变得非常慢,它在大约1秒后显示我的输入。
在我启动--noplugin
之后,它甚至不会变得更好。但在切换我的.vimrc
文件后,一切都会好起来的。 .vimrc
文件由我自己编写,经过一段时间的检查后,我仍无法找到错误。我清楚了所有的关键地图,但问题仍然存在。
那么你可以给我任何建议或告诉我如何在vim中调试吗?我发现有一个调试选项,但无法获得如何工作。
答案 0 :(得分:12)
启动vim时可以使用--startuptime
选项:
--startuptime {fname} *--startuptime*
During startup write timing messages to the file {fname}.
This can be used to find out where time is spent while loading
your .vimrc, plugins and opening the first file.
When {fname} already exists new messages are appended.
(Only available when compiled with the |+startuptime|
feature).
采取以下步骤来诊断问题:
vim --startuptime log.txt main.java
以启动vim :tabe log.txt
以查看日志。答案 1 :(得分:11)
缓慢的原因通常是在vim(see also discussion on google vim/ruby google group)的编译时没有设置或设置错误的ruby_path。在vimrc中设置它更容易,因为你可以在不重新编译vim的情况下进行更改。您可以通过.vimrc文件中的 g:ruby_path 变量设置路径。不要复制和粘贴两者,使用正确的。
如果你设置RBENV,你必须使用这个:
" ruby path if you are using rbenv
let g:ruby_path = system('echo $HOME/.rbenv/shims')
如果你设置RVM,你必须使用这个:
" ruby path if you are using RVM
let g:ruby_path = system('rvm current')
您也可以使用vim-rbenv插件来设置路径。
对我来说,在vim中加载ruby特定函数的部分加快了10倍。
如果你使用的是jruby,那么启动速度可能会更大。请参阅修复示例here。
答案 2 :(得分:7)
这样的事情通常是由语法着色引起的。试试:syntax off
。
答案 3 :(得分:6)
如果运行vim 7.4,
把它放在你的.vimrc
中设置regexpengine = 1
vim 7.4有一个新的正则表达式引擎,在某些情况下看起来效果不佳。以前的版本vim 7.3使用旧引擎(设置regexpengine = 1)。
语法突出显示问题的“慢响应”也会影响vim帮助文件(和.vimrc文件)。
答案 4 :(得分:0)
将这些行添加到您的~/.vimrc
或~/.config/nvim/init.vim
中:
set lazyredraw " don't redraw everytime
set synmaxcol=128 " avoid slow rendering for long lines
syntax sync minlines=64 " faster syntax hl
如果您正在使用tmux,请考虑将其添加到您的~/.tmux.conf
:
set -sg escape-time 10