在Mac OS X上使用Vim的netrw复制文件已被破坏

时间:2015-08-04 13:57:14

标签: macos vim netrw

要使用netrw在Vim中复制文件,请执行以下步骤:

  1. 选择目标目录(使用mt
  2. 选择要复制的文件(使用mf
  3. 继续复制(使用mc
  4. 在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不感兴趣。

2 个答案:

答案 0 :(得分:8)

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

您要么在流程前按c,要么在let g:netrw_keepdir=0

.vimrc

答案 1 :(得分:1)

我想我已经找到了最初的问题:

我有两个文件夹foobar(每个文件夹中有一个文件),我将foo标记为目标目录,然后按下bar文件夹上的ENTER(只是看看里面的文件),然后在foo上按下ENTER(也看看里面的文件)。此时我正在将光标向上移动到bar文件夹中,并在我要复制的文件上按mf。但就netrw而言,我仍然专注于#34;在foo文件夹中。

解决方案似乎是:

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

我犯的错误是假设只是将光标移动到文件夹内就足以让mc工作了。我忽略了认识到我必须专注于#34;在mf命令工作的正确文件夹中。