要使用netrw在Vim中复制文件,请执行以下步骤:
mt
)mf
)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不感兴趣。
答案 0 :(得分:8)
在:help netrw-c
阅读更多内容,了解有关当前目录和浏览目录不匹配的更多信息。
您要么在流程前按c
,要么在let g:netrw_keepdir=0
.vimrc
答案 1 :(得分:1)
我想我已经找到了最初的问题:
我有两个文件夹foo
和bar
(每个文件夹中有一个文件),我将foo
标记为目标目录,然后按下bar
文件夹上的ENTER(只是看看里面的文件),然后在foo
上按下ENTER(也看看里面的文件)。此时我正在将光标向上移动到bar
文件夹中,并在我要复制的文件上按mf
。但就netrw而言,我仍然专注于#34;在foo
文件夹中。
解决方案似乎是:
此时(想象我在按mf
之前已经采取了上述步骤):我应该在bar
文件夹上按ENTER(隐藏列出的文件),然后在{上按ENTER键再次{1}}文件夹(现在重新显示内容/列出的文件),最后在我要复制的bar
内的文件上按mf
。 NOW 就netrw而言,我已将文件标记在正确的目录中,bar
命令将成功。
我犯的错误是假设只是将光标移动到文件夹内就足以让mc
工作了。我忽略了认识到我必须专注于#34;在mf
命令工作的正确文件夹中。