要使用netrw在Vim中复制文件,请执行以下步骤:
mt
)mf
)mc
)在netrw中使用的命令是:
mt
当光标位于
mf
要复制的文件的顶部时,光标位于要作为目标运行的目录的顶部
mc
当光标位于目标("标记的目标")目录的顶部
如果我在示例项目中执行此操作,Vim将显示如下内容:
Copy foo.md to : bar.md
Run Code Online (Sandbox Code Playgroud)
建议它即将做我想要的,但在确认这一点后,我收到以下错误:
1 **error** (netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!
Run Code Online (Sandbox Code Playgroud)
我在网上看到netrw被认为是非常错误的,因此似乎没有太多关于如何解决这个问题的文档或说明.
我应该清楚并说明我对使用NERDTree不感兴趣.
小智 10
阅读更多内容,:help netrw-c
了解有关当前目录和浏览目录不匹配的更多信息.
你要么想要c
在流程之前按压,要么只是let g:netrw_keepdir=0
在你的流程中.vimrc
我想我已经解决了最初的问题:
我有两个文件夹foo
(bar
每个文件夹一个文件),我标记foo
为目标目录,然后在bar
文件夹上按 ENTER(只是为了查看其中的文件),然后按 ENTER foo
(也看看里面的文件)。此时,我将光标在bar
文件夹内向上移动,然后按下mf
我想要复制的文件。但就netrw而言,我仍然“专注”在foo
文件夹上。
解决方案似乎是:
此时(想象我已经执行了上述步骤,直到按 之前mf
):我应该在bar
文件夹上按 ENTER 键(隐藏列出的文件),然后bar
再次在文件夹上按 ENTER 键(现在重新显示内容/列出的文件)并且最后按我要复制的mf
里面的文件。现在就 netrw 而言,我已在正确的目录中标记了该文件,并且该命令将会成功。bar
mc
我犯的错误是假设只需将光标移动到文件夹内就足以mf
工作。我没有意识到我必须“集中”在正确的文件夹中才能使mf
命令发挥作用。