10

在 Vim 中使用 netrw 复制文件有以下步骤:

  1. 选择目标目录(使用mt
  2. 选择要复制的文件(使用mf
  3. 继续复制(使用mc

在 netrw 中使用的命令是:

mt光标位于目标目录顶部时
mf运行 当光标位于要复制的文件顶部时
mc运行 光标位于目标(“标记的目标”)目录顶部时运行

如果我在示例项目中这样做,Vim 将显示如下内容:

Copy foo.md to : bar.md

暗示它即将做我想做的事,但在确认这一点后,我收到以下错误:

1 **error** (netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!

我在网上读到 netrw 被认为有很多错误,因此似乎没有太多关于如何解决此问题的文档或说明。

我应该清楚并声明我对使用 NERDTree 不感兴趣。

4

2 回答 2

10

阅读更多:help netrw-c内容以了解有关当前目录和浏览目录不匹配的更多信息。

你要么想c在这个过程之前按下,要么只是let g:netrw_keepdir=0在你的.vimrc

于 2016-12-20T07:08:42.833 回答
1

我想我已经弄清楚了最初的问题:

我有两个文件夹foobar(每个文件中的一个文件),我标记foo为目标目录,然后在文件夹上按 ENTER bar(只是为了查看其中的文件),然后按 ENTER foo(也可以查看里面的文件)。此时,我在bar文件夹内向上移动光标并按下mf我想要复制的文件。但就 netrw 而言,我仍然“专注”于foo文件夹。

解决方案似乎是:

此时(假设我已经采取了上述步骤,直到按下 之前mf):我应该在bar文件夹上按 ENTER(隐藏列出的文件),然后bar再次在文件夹上按 ENTER(现在重新显示内容/列出的文件)和最后按下我要复制mf的文件。现在就 netrw 而言,我已将文件标记在正确的目录中,并且命令将成功。barmc

我犯的错误是假设只需在文件夹内移动光标就足以mf工作。我没有意识到我必须在正确的文件夹中“专注”才能使mf命令起作用。

于 2015-08-09T20:36:19.117 回答