如何在 Ranger 中移动目录?

6 linux fedora file-management file-transfer ranger

我正在使用Ranger文件管理器。

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

示例图像

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

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

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

moz*_*lla 9

我从不需要 Ranger 的本机move命令,因为能够使用mvRanger 命令行上的命令,将选定的文件或目录移动到给定目录,例如:

shell -f mv %f /foo/bar
Run Code Online (Sandbox Code Playgroud)

%f突出显示文件的游侠宏在哪里,并且%s适用于所有选定的文件。

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

你可以用 s, 来调用命令行!或者 @。

另一种方法,特别是如果你有很多副本/移动要制作,是在 ranger 中打开另一个选项卡,用gncd 到你想要复制/移动文件的目录。然后返回到第一个选项卡选择文件并使用下一个选项卡的游侠宏%D,将文件移动到,例如,

shell -f mv %f %D
Run Code Online (Sandbox Code Playgroud)

但这实际上只会使您免于击中yy Tab dd Tab。老实说,我通常会切换 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      
Run Code Online (Sandbox Code Playgroud)

请注意,这%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  
Run Code Online (Sandbox Code Playgroud)

%c复制/剪切缓冲区中保存的文件的 Ranger 宏在哪里。

使用yy、 猛拉 或ya、 添加到复制缓冲区可以轻松地将文件添加到缓冲区。类似地,使用dd, 进行剪切,或da, 添加到剪切缓冲区。

在此处查看我的其他键映射


小智 5

这是一个老问题,但这是我开始使用 Ranger 时发现的第一个问题。

莫泽雷拉提到。

使用 yy 可以轻松地将文件添加到缓冲区,以 yank 或 ya,以添加到复制缓冲区。类似地,使用 dd,to cut 或 da,添加到 cut 缓冲区。

我不知道 2016 年末的目录是否可行,但我找到了方法:

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

也适用于目录。