如何在 Ranger 中移动目录?

如何在 Ranger 中移动目录?

我在用着游侠文件管理器。

我想将选定的(marked)目录移动到提供的路径。

示例图像

我一直在使用dd和移动目录,pp但它要求用户转到目标目录来“粘贴”它们。

有一个未记录的move命令,我不知道如何使用。

而且我也猜测它可能以某种方式通过外部 shell 命令完成,但我想通过命令本地完成它move

答案1

我从来不需要 ranger 的本机move命令,而是能够使用mvranger 命令行上的命令将选定的文件或目录移动到给定目录,例如:

shell -f mv %f /foo/bar

其中%franger 宏用于突出显示文件,并且%s将用于所有选定文件。

该选项-f分叉操作,以便 ranger 会话不会被长文件进程打断。

您可以使用 s、! 或 @ 来调用命令行。

另一种方法,特别是当你需要进行多次复制/移动时,是在 ranger 中打开另一个选项卡,然后gncd 到要复制/移动文件的目录。然后返回第一个选项卡以选择文件,并使用 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(添加到剪切缓冲区)。

我找到了方法:

  1. 在目录中——剪切
  2. 导航到新目录
  3. - 粘贴

也适用于目录。

答案3

尽管第一个答案在深入探讨相关 RC 文件配置的一些较深部分方面相当不错,但最好还是直奔主题。

假设你正在尝试复制并粘贴远程服务器上的目录。你所要做的就是确保你是 root 用户(如果需要,例如:在我的情况下,我只想将包含我网站的 public_html 文件夹移动到 /var 目录的深处,所以我需要成为 root 用户),使用以下命令:

sudo su

(*输入您的凭证)

然后,使用 Ranger:

ranger

选择目录并输入:

dd

然后,导航到要粘贴的位置,然后输入:

pp

瞧,你完成了!

相关内容