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. Начните с установки и изучения базовых команд, а затем постепенно добавляйте свои собственные плагины – ваш рабочий процесс в терминале станет намного более эффективным!