如果我使用netrw打开当前目录中的文件,然后使用:Sexplore
重新打开netrw,下面会打开netrw窗口(我设置了splitbelow
),但光标仍保留在正在编辑的文件中我无法使用CTRL-W
组合移动到netrw窗口。
我做错了什么还是这个错误?
重现的步骤
vim .
:Sexplore
cmd 我的.vimrc
set nocompatible
set splitbelow
VIM版
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 8 2015 23:11:08)
MacOS X (unix) version
Included patches: 1-944
答案 0 :(得分:2)
我无法使用版本154a复制(使用:echo g:loaded_netrwPlugin
检查您的netrw版本。)
尝试使用the latest version。
修改强>
问题可能是由其他一些插件干扰或设置引起的。您可以尝试遵循Vim FAQ 2.5中描述的方法:
2.5。我对Vim有一个“xyz”(某些)问题。我如何确定它是一个 我的设置或Vim的问题? /我在Vim中发现了一个错误吗?
首先,你需要找出错误是否在实际中 运行时文件或与Vim一起分发的任何插件或是否 是.vimrc中任何配置选项的简单副作用 或.gvimrc。首先,像这样启动vim:
vim -u NONE -U NONE -N -i NONE
这会在非兼容模式(-N)中启动Vim,而无需阅读 viminfo文件(-i NONE),不读取任何配置文件(-u NONE没有读取.vimrc文件而-U NONE没有读取.gvimrc 文件)甚至插件。
(...)
如果以这种方式启动Vim时没有发生错误,那么 问题要么与你的某些插件有关,要么与某些设置相关 您的一个本地安装文件。你需要找出,是什么触发了 错误,你尝试这样开始Vim:
vim -u NONE -U NONE -N
如果发生错误,则问题是您的.viminfo文件。只需删除 然后是viminfo文件。如果没有发生错误,请尝试:
vim -u ~/.vimrc --noplugin -N -i NONE
这只会将.vimrc用作配置文件,但不会加载 任何插件。如果此时发生错误,则可能是错误 由.vimrc文件中的某些配置选项引起的。根据 在你的vimrc文件的长度上,跟踪它可能非常困难 该文件中的来源。
最好的方法是在.vimrc中添加:finish命令。 然后使用相同的命令行重新启动。如果错误仍然存在 发生时,必须由于前半部分的设置而导致错误 你的.vimrc。如果没有发生,则必须设置有问题的设置 在.vimrc的后半部分。所以将:finish命令移动到 那一半的中间,你知道它会触发错误和 继续前进,直到找到有问题的选项。如果你的 .vimrc是350行长,你需要最多9次尝试才能找到 违规行(实际上,这通常可以进一步减少,因为 通常线条相互依赖)。
显然你必须手动加载netrw(可以通过使用plugin / netrwPlugin.vim来完成 - 如果你使用的是一些插件管理器,你必须将插件移动到〜/ .vim /或更改你的运行时路径由于自动加载功能)并设置nocompatible
和splitbelow
。
实际上:help netrw-debug
中有一个改编版的此程序:
第2步:假设您已经安装了最新版本的netrw, 检查你的问题是否真的是由于netrw。创建一个名为的文件 netrw.vimrc包含以下内容:
set nocp so $HOME/.vim/plugin/netrwPlugin.vim
然后按如下方式运行netrw:
vim -u netrw.vimrc --noplugins [some path here]
执行任何操作 您需要的netrw命令,并检查问题是否仍然存在 当下。此过程可以回避由于个人.vimrc引起的任何问题 设置和其他插件。如果问题没有出现,那么你 需要确定.vimrc中的哪个设置导致冲突 与netrw或哪个插件。
步骤3:如果问题仍然存在,则获取调试跟踪 来自netrw:
(...)