【问题标题】:How do I get netrw (in Vim) to use the absolute path?如何让 netrw(在 Vim 中)使用绝对路径?
【发布时间】:2012-08-02 02:30:53
【问题描述】:

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

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

netrw 中导致问题的那一行是:

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

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

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

【问题讨论】:

    标签: vim file-browser netrw


    【解决方案1】:

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

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

    【讨论】:

    • 似乎没有什么不同...不过我得看看那个文档。
    • 原来我的问题不是我想的那样(见我的自我回答)
    【解决方案2】:

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

    我真正需要做的就是将光标移动到横幅区域,然后再尝试从父目录mt - 或mt

    哎呀!

    【讨论】:

      猜你喜欢
      • 2021-06-11
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      • 2020-06-18
      • 2012-10-24
      • 1970-01-01
      相关资源
      最近更新 更多