bsh*_*ett 12 vim performance networking
在我的计算机工作中,每当我打开位于网络共享上的文件时,GVim就会变得完全无法使用.滚动文档可能需要15秒才能进入一个"页面".即使使用移动键从一个单词转到另一个单词也需要2到3秒.这似乎是一种新的行为,但对于我的生活,我记不起改变会导致它的任何事情.我的印象是Vim实际上并没有访问文件,除了打开和保存.是对的吗?
jam*_*san 10
有几个因素可能会影响这一点.
首先,确保您已将Vim设置为首选在本地存储交换文件.如果你$HOME在本地驱动器上,我倾向于把它放在我的vimrc中(它将在$HOME\_vimrc或$VIM\_vimrc).确保创建该目录,否则Vim将继续使用列表中的其他目录之一.
set directory^=$HOME/tmp
这会将$HOME/tmp目录添加到列表的开头,Vim会检查交换文件的放置位置.
其次,对Vim创建的备份文件执行相同操作.与上述情况相同,但您将要更改的选项backupdir不是directory.
第三,确保禁用matchparen插件.此插件是Vim 7的新增功能,因此您可能习惯使用旧版本的Vim.这导致频繁扫描文件以匹配parens,braces等,当文件在网络共享上时,这可能会大大降低Vim的速度.再次,这应该在你的vimrc中.
let g:loaded_matchparen = 1
如果您只想暂时禁用该插件,可以使用该命令:NoMatchParen,然后:DoMatchParen在该Vim会话中重新启用它.
最后,如果这些都没有帮助,您可以始终在本地复制文件并进行编辑.
交换文件与它无关.我有我的交换文件本地,仍然有问题.我使用来自SysInternals.com的Process Monitor,它在尝试打开"\ server\TestTool\foo\ReadMe.TXT"时显示出不良行为
它首先尝试在"\ serve \"上创建一个CreateFile(也称为目录打开).注意最后一个字符丢失了.这将导致4秒超时"OBJECT PATH INVALID".
然后它在"\ server\TestToo \"上尝试CreateFile.通过"TestTool"的最后一个字母剪切服务器名称是正确的.再次,"BAD NETWORK NAME"暂停3秒.
最后它正确并在"\ server\TestTool \"上调用CreateFile,它立即可用.然后在"\ server\TestTool\foo"上的CreateFile立即生效.然后在"\ server\TestTool\foo\ReadMe.TXT"上创建CreateFile,它立即可用.
为什么它为服务器和根目录尝试坏名称??? 这有什么疯狂的?