1

我在 Windows 上安装了 Vim73,我正在尝试通过文件浏览器移动文件。

它一直给我一个关于“移动”不可执行的错误(见这篇文章)。经过一些调试后,我发现问题出在我的vim73\autoload\netrw.vim文件中。我得到了移动命令,但还有另一个问题 - 显然我正在浏览的目录:Ex不是我当前的工作目录,所以mv.exe命令(来自 UnxUtils)找不到源或目标。

导致问题的 netrw 行是这一行:

 let ret= system(g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt))

我尝试将shellescape()函数包装在 中expand(),但这似乎没有帮助。

知道如何获得源和目标的绝对路径吗?

4

2 回答 2

1

而不是尝试绝对路径,设置g:netrw_keepdir为 0 对您有用吗?这不是您想要的(我怀疑是采用 vim CWD 并将其应用于 netrw 而不是相反的方式),但如果您可以使用 netrw 管理您的 vim CWD,您的命令可能只是工作原样。

编辑:查看:help netrw-c详细解释。netrw 中的c命令可能就足够了。

于 2012-03-09T00:23:32.287 回答
0

好吧,事实证明,当您的光标位于..文件列表中时,它认为这是一个目录。

我真正需要做的就是在尝试mtmt从父目录之前将光标移动到横幅区域。

哎呀!

于 2012-08-01T18:30:53.080 回答