Ranger от простого до сложного
Введение
Ranger – это утилита командной строки для работы с файловой системой, напоминающая текстовый файловый менеджер Midnight Commander или графический проводник Windows, но полностью основанная на терминале. Она поддерживает множество функций: просмотр, копирование, перемещение, поиск, интеграцию с редакторами и даже работу через SSH‑ключи.
В этой статье мы последовательно разберём основные возможности Ranger от базового использования до продвинутых сценариев.
Основная часть
1. Установка и первый запуск
# Ubuntu/Debian
sudo apt install ranger
# Arch Linux
sudo pacman -S ranger
# macOS (Homebrew)
brew install ranger
После установки запустите:
ranger
Внутри вы увидите два вертикальных окна, разделённые полем для команды. Навигация осуществляется клавишами h, j, k, l и стрелками.
Совет: Чтобы выйти из Ranger нажмите
q.
2. Базовые операции
| Команда | Описание |
|---|---|
Enter |
Открыть файл/папку |
u |
Подняться на уровень выше |
yy |
Копировать (копировать в буфер) |
p |
Вставить из буфера |
dd |
Удалить |
gg |
Перейти к началу списка |
G |
Перейти к концу списка |
# Пример копирования и вставки:
yy # Копируем текущий файл
cd /tmp # Переходим в целевую директорию
p # Вставляем
3. Поиск файлов (фильтрация)
Нажмите : для вызова командной строки, затем введите:
:filter *.py
Все файлы, не соответствующие шаблону, будут скрыты.
Указание: Можно использовать регулярные выражения с флагом
-r.
4. Работа с удалёнными системами (SSH)
Ranger автоматически использует SSH‑ключи из вашего агентского менеджера:
ssh-add ~/.ssh/id_rsa
Затем откройте удаленную папку:
:open ssh://user@host:/var/www/
5. Конфигурация и расширения
Файл конфигурации находится по пути ~/.config/ranger/rc.conf. Ниже пример настройки горячих клавиш:
# Перемещение на 10 строк вниз
map j10 move_down
# Включить отображение скрытых файлов
set show_hidden true
Для установки плагинов создайте каталог plugins и скопируйте туда скрипты, например:
git clone https://github.com/ranger/ranger.git ~/.config/ranger/plugins/fzf
После этого включите их в конфиге:
# Включить fzf поиск
map <c-p> find_file_in_fzf
6. Интеграция с редакторами
Ranger позволяет открывать файлы сразу в выбранном редакторе, например vim или nano. Добавьте в rc.conf:
# Открыть файл в vim
map i edit
# Открыть файл в nano
map n edit-nano
7. Скрипты и автоматизация
Ranger поддерживает расширения на Python, которые можно писать самостоятельно. Пример простого скрипта для создания резервной копии:
#!/usr/bin/env python3
import os
import shutil
from ranger.api.commands import Command
class backup(Command):
"""
:backup
Создаёт архив текущей директории.
"""
def execute(self):
src = self.fm.thisdir.path
dst = f"{src}.tar.gz"
shutil.make_archive(src, 'gztar', root_dir=src)
self.fm.notify(f"Архив создан: {dst}")
Сохраните как ~/.config/ranger/plugins/backup.py и используйте команду :backup.
Заключение
Ranger – мощный инструмент для тех, кто предпочитает терминал. Он сочетает в себе простоту использования базовых операций с гибкостью настройки и расширений. С его помощью можно быстро управлять файлами, работать через SSH, интегрировать сторонние редакторы и даже автоматизировать задачи при помощи скриптов на Python. Начните с установки и изучения базовых команд, а затем постепенно добавляйте свои собственные плагины – ваш рабочий процесс в терминале станет намного более эффективным!