Как переместить каталоги в Ranger?

3953
w17t

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

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

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

Я двигался каталоги, используя ddи, ppно требует, чтобы пользователь перейти в каталог назначения для «вставить» их в.

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

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

3
Вы можете перемещать каталоги с помощью той же команды оболочки, которую вы обычно используете для перемещения каталогов. В Ranger просто войдите! а затем введите команду оболочки. n8te 7 лет назад 1
Спасибо, но я бы хотел больше сделать это изначально, учитывая, что команда `move` доступна и, как мне кажется, будет проще. w17t 7 лет назад 0

2 ответа на вопрос

4
mozerella

Мне никогда не требовалась нативная 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, для восстановления или yaдобавления в буфер копирования. Аналогично, с помощью dd, чтобы вырезать или daдобавить в буфер вырезания.

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

Спасибо! Я приму это во внимание. Но одна вещь, которая заставляет меня бродить больше всего, - это реальная цель команды «move», изначально присутствующей в радиусе действия? Кажется, он ничего не делает. w17t 7 лет назад 0
2
jayreed1

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

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

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

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

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

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

Похожие вопросы