6 linux fedora file-management file-transfer ranger
我正在使用Ranger文件管理器。
我想将选定的 ( mark
ed) 目录移动到提供的路径。
我一直在使用dd
and移动目录,pp
但它要求用户转到目标目录以将它们“粘贴”到。
有一个未记录的move
命令,我不知道如何使用。
而且我也猜想它可能以某种方式通过外部 shell 命令完成,但我想通过move
命令在本机上完成。
我从不需要 Ranger 的本机move
命令,因为能够使用mv
Ranger 命令行上的命令,将选定的文件或目录移动到给定目录,例如:
shell -f mv %f /foo/bar
Run Code Online (Sandbox Code Playgroud)
%f
突出显示文件的游侠宏在哪里,并且%s
适用于所有选定的文件。
该选项-f
分叉操作,以便 Ranger 会话不会被长文件进程中断。
你可以用 s, 来调用命令行!或者 @。
另一种方法,特别是如果你有很多副本/移动要制作,是在 ranger 中打开另一个选项卡,用gn
cd 到你想要复制/移动文件的目录。然后返回到第一个选项卡选择文件并使用下一个选项卡的游侠宏%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 年末的目录是否可行,但我找到了方法:
也适用于目录。