如何让netrw(在Vim中)使用绝对路径?
-
09-12-2019 - |
题
我在Windows上有Vim73,我试图通过文件浏览器移动文件。
它一直给我一个关于"移动"不可执行的错误(见 这篇文章).经过一些调试后,我发现问题出在我的 vim73\autoload\netrw.vim
档案。我得到了移动命令的工作,但还有另一个问题-显然我正在浏览的目录 :Ex
不是我当前的工作目录,所以 mv.exe
命令(来自UnxUtils)找不到源或目标。
导致问题的线路是这条:
let ret= system(g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt))
我试着把 shellescape()
功能在 expand()
, ,但这似乎没有帮助。
任何想法我如何获得源和目的地的绝对路径?
解决方案 2
那么,事实证明,当你的光标在 ..
在文件列表中,它认为一个目录。
我真正需要做的就是在尝试之前将光标移动到横幅区域 mt
-或 mt
从父目录。
哇!
其他提示
而不是尝试绝对路径,将设置 g:netrw_keepdir
为你工作?这不完全是你想要的(我怀疑是采取vim CWD并将其应用于netrw而不是相反的方式),但是如果你可以使用netrw来管理你的vim CWD,你的命令可能只是按原样工作。
编辑:你看 :help netrw-c
为了详细的解释。该 c
netrw中的命令可能就足够了。
不隶属于 StackOverflow