我在Windows上安装了Vim73,我正在尝试通过文件浏览器移动文件。
它一直在给我一个关于“移动”不可执行的错误(参见this post)。经过一些调试后,我发现问题出在我的vim73\autoload\netrw.vim
文件中。我有移动命令工作,但还有另一个问题 - 显然我用:Ex
浏览的目录不是我当前的工作目录,因此mv.exe
命令(来自UnxUtils)找不到来源或目的地。
导致问题的netrw的一行是这样的:
let ret= system(g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt))
我尝试将shellescape()
函数包装在expand()
中,但这似乎没有帮助。
知道如何获得源和目的地的绝对路径吗?
答案 0 :(得分:0)
不是尝试绝对路径,而是将g:netrw_keepdir
设为0适合你?这不是你想要的(我怀疑它是采用vim CWD并将其应用于netrw而不是相反的方式)但是如果你可以使用netrw来管理你的vim CWD,你的命令可能只是工作原样。
编辑:请查看:help netrw-c
以获得详细说明。 netrw中的c
命令可能就足够了。
答案 1 :(得分:0)
嗯,事实证明,当你的光标位于文件列表中的..
时,它认为是一个目录。
我真正需要做的就是在从父目录尝试mt
- 或mt
之前将光标移动到横幅区域。
糟糕!