Как перемещать каталоги в Ranger?
Я использую файловый менеджер Ranger.
Я хочу переместить выбранное (mark
ред) каталоги по указанному пути.
Я перемещал каталоги, используя dd
а также pp
но он требует, чтобы пользователь пошел в каталог назначения, чтобы "вставить" их в.
Там нет документов move
команда, которую я не знаю, как использовать.
И я также думаю, что это может быть сделано с помощью внешней команды оболочки, но я хочу сделать это через move
команда.
3 ответа
Я никогда не нуждался в родном рейнджере move
команда с возможностью использовать mv
команда в командной строке ranger, чтобы переместить выбранный файл или каталог в заданный каталог, например:
shell -f mv %f /foo/bar
где %f
является макросом рейнджера для выделенных файлов, и %s
будет для всех выбранных.
Опция -f
разветвляет операцию, чтобы сеанс рейнджера не прерывался длинным файловым процессом.
Вы можете вызвать командную строку с s,! или же @.
Другой способ, особенно если вам нужно сделать много копий / ходов, это открыть еще одну вкладку в рейнджере с gn
и перейдите в каталог, в который вы хотите скопировать / переместить файлы. Затем вернитесь на первую вкладку, чтобы выбрать файлы и используйте макрос рейнджера для следующей вкладки. %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
, чтобы добавить в вырезанный буфер.
Смотрите мои другие раскладки клавиш здесь
Это старый вопрос, но это первый вопрос, который я нашел, когда начал использовать Ranger.
Мозерелла упоминает.
Файлы легко добавляются в буфер с помощью yy, yank или ya для добавления в буфер копирования. Аналогично, с dd, чтобы вырезать, или da, чтобы добавить в буфер вырезания.
Я не знаю, было ли это возможно для каталогов в конце 2016 года, но я нашел метод:
- дд на каталог - вырезать
- перейти в новый каталог
- pp - Вставить
относится и к каталогам.
Хотя первый ответ чертовски хорош с точки зрения прохождения некоторых более глубоких частей соответствующих конфигураций RC-файлов, лучше просто добраться до этой чертовой точки.
Допустим, вы пытаетесь скопировать и вставить каталог на удаленный сервер. Все, что вам нужно сделать, это убедиться, что вы являетесь пользователем root (при необходимости, например: в моем случае я просто хотел переместить мою папку public_html, содержащую мой веб-сайт, глубже в каталог /var, поэтому мне нужно было быть пользователем root) с:
sudo su
(* введите свои учетные данные)
Затем используйте Ranger:
ranger
Выберите каталог и введите:
dd
Затем перейдите в нужное место и введите:
pp
Вуаля, вы сделали!