我正在运行 Windows XP 并安装了 gVIM...并且很喜欢它。
通常我只运行 gVIM 并让窗口应用程序发挥其所有魔力,但最近我也在控制台中使用标准 vim。
我遇到的问题是目录浏览。
在 gVIM 窗口中,我可以输入:edit。它将列出我当前的目录以及要选择的文件。
然而,在 VIM(在命令提示符中)中,输入 :edit. 仅输出“。”是一个目录,并且不会像在 gVIM 中那样列出当前工作目录。
还有其他方法可以做我想做的事吗?
** 编辑 **
注意到我得到不同行为的原因是当我从命令行运行 vim 时,它从 c:\windows\system32 运行,但是当我运行 gvim 时,它来自 c:\program files\vim....并且 system32 中的版本没有指向 _vimrc 文件的指针
答案1
目录浏览由(标准安装的)netrw 插件提供。您的 gvim 可能可以访问该插件,但您的控制台 vim 则不能。假设您在 C:\vim 中安装了 vim,并且您正在使用 vim 7.2,则该插件可能位于 c:\vim\vim72\plugins。请确保从 C:\vim\vim72 运行 vim(通过将该目录添加到路径的开头)。
如果没有 c:\vim\vim72\vim.exe,请将 gvim.exe 复制到同一目录中,但将其重命名为 vim.exe,这样就可以解决其余问题。
答案2
您可以使用:e FILENAME..
TAB 功能支持此功能以完成名称。
这是 VIM 的一个小抄
http://www.tuxfiles.org/linuxhelp/vimcheat.html
我希望这有用!
答案3
由于您从不同的地方运行的是 vim.exe 而不是 gvim.exe,因此您的 VIMRUNTIME 也可能不同(:echo $VIMRUNTIME
在 vim 或 gvim 中)。此外,您有一个 .vimrc 或 _vimrc,gvim 正在拾取(因此您的 gvim 将处于非兼容模式),但您的 vim 并未获得该好处(如果您的 vim 以 vi 兼容模式运行,netrw 不起作用)。
尝试 :echo &cp too
:获取一个1
,它与 vi 兼容,0
不是。你想要0
。