我在用着游侠文件管理器。
我想将选定的(mark
ed)目录移动到提供的路径。
我一直在使用dd
和移动目录,pp
但它要求用户转到目标目录来“粘贴”它们。
有一个未记录的move
命令,我不知道如何使用。
而且我也猜测它可能以某种方式通过外部 shell 命令完成,但我想通过命令本地完成它move
。
答案1
我从来不需要 ranger 的本机move
命令,而是能够使用mv
ranger 命令行上的命令将选定的文件或目录移动到给定目录,例如:
shell -f mv %f /foo/bar
其中%f
ranger 宏用于突出显示文件,并且%s
将用于所有选定文件。
该选项-f
分叉操作,以便 ranger 会话不会被长文件进程打断。
您可以使用 s、! 或 @ 来调用命令行。
另一种方法,特别是当你需要进行多次复制/移动时,是在 ranger 中打开另一个选项卡,然后gn
cd 到要复制/移动文件的目录。然后返回第一个选项卡以选择文件,并使用 ranger 宏在下一个选项卡中%D
移动文件,例如,
shell -f mv %f %D
但实际上这只能让你免于打击yy Tab dd Tab
。说实话,我通常会切换标签和dd
。
我在 rc.conf 文件中设置了键绑定,如下所示,
#sync sel'd into dir on next tab
map ytt shell -f rsync -rult %s %D
#sync sel'd from dir on next tab
map yff shell -f rsync -rult %S %d
#sync sel'd into dir on next tab :incl referred files
map ytr shell -f rsync -ruLt %s %D
#sync sel'd from dir on next tab :incl referred files
map yfr shell -f rsync -ruLt %S %d
#move sel'd into dir on next tab
map dtt shell -f mv %s %D
#move sel'd from dir on next tab
map dff shell -f mv %S %d
请注意,%S
是下一个选项卡上选定文件的宏。
%d
是当前选项卡目录路径的宏。
还有一些人,
#copy sel'd into h'd dir
map pc shell -f rsync -rut %s %d/%f/
#move sel'd into h'd dir
map pm shell -f mv -u %s %d/%f
#copy buffer into h'd dir
map pds shell -f rsync -rult %c %d/%f/
#move buffer into h'd dir
map pdm shell -f mv -u %c %d/%f
#sync buffer'd files into curr dir :links only
map ps shell -f rsync -rult %c %d
%c
复制/剪切缓冲区中保存的文件的 ranger 宏在哪里。
可以使用 轻松将文件添加到缓冲区yy
,以提取文件,或ya
添加到复制缓冲区。同样,使用dd
剪切文件,或da
添加到剪切缓冲区。
查看我的其他此处的键映射
答案2
mozerella 提到:
使用 yy(复制)或 ya(添加到复制缓冲区)可轻松将文件添加到缓冲区。同样,使用 dd(剪切)或 da(添加到剪切缓冲区)。
我找到了方法:
- 日在目录中——剪切
- 导航到新目录
- 页- 粘贴
也适用于目录。
答案3
尽管第一个答案在深入探讨相关 RC 文件配置的一些较深部分方面相当不错,但最好还是直奔主题。
假设你正在尝试复制并粘贴远程服务器上的目录。你所要做的就是确保你是 root 用户(如果需要,例如:在我的情况下,我只想将包含我网站的 public_html 文件夹移动到 /var 目录的深处,所以我需要成为 root 用户),使用以下命令:
sudo su
(*输入您的凭证)
然后,使用 Ranger:
ranger
选择目录并输入:
dd
然后,导航到要粘贴的位置,然后输入:
pp
瞧,你完成了!