3

Я использую файловый менеджер Ranger .

Я хочу переместить выбранные (mark ed) каталоги по указанному пути.

Пример изображения

Я перемещал каталоги, используя dd и pp но он требует, чтобы пользователь пошел в каталог назначения, чтобы "вставить" их в.

Есть недокументированная команда move которую я не знаю, как использовать.

И я также думаю, что это может быть сделано с помощью команды внешней оболочки, но я хочу сделать это с помощью команды move .

2 ответа2

4

Мне никогда не требовалась собственная команда move ranger, так как я мог использовать команду mv в командной строке ranger для перемещения выбранного файла или каталога в заданный каталог, например:

shell -f mv %f /foo/bar

где %f - это макрос рейнджера для выделенных файлов, а %s будет для всех выбранных.

Опция -f разветвляет операцию, чтобы сеанс рейнджера не прерывался длинным файловым процессом.

Вы можете вызвать командную строку с s,! или же @.

Другой способ, особенно если вам нужно сделать много копий / ходов, - это открыть еще одну вкладку в рейнджере, где gn и cd - каталог, в который вы хотите скопировать / переместить файлы. Затем вернитесь на первую вкладку, чтобы выбрать файлы, и используйте макрос рейнджера для следующей вкладки %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 - это макрос рейнджера для файлов, хранящихся в буфере копирования / вырезания.

Файлы легко добавляются в буфер с помощью yy , yank или ya для добавления в буфер копирования. Аналогично, с помощью dd , чтобы вырезать, или da , чтобы добавить в буфер вырезания.

Смотрите мои другие раскладки клавиш здесь

2

Это старый вопрос, но первый, который я нашел, когда начал использовать Ranger.

Мозерелла упоминает.

Файлы легко добавляются в буфер с помощью yy, yank или ya для добавления в буфер копирования. Аналогично, с помощью dd, чтобы вырезать, или da, чтобы добавить в буфер вырезания.

Я не знаю, было ли это возможно для каталогов в конце 2016 года, но я нашел метод:

  1. дд на каталог - вырезать
  2. перейти в новый каталог
  3. pp - Вставить

относится и к каталогам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .