Ну давайте я вам расскажу про самый лучший файловый менеджер.

Я вообще пользовался mc, наутилусом, pcmanfm. Но остановился на Ranger.

Написан он на Python и поэтому он не очень быстрый. Да, ребята, программы на Python они не быстрые. Я сам этому не рад, но к сожалению это так. Я как-то в прошлом видео сказал это и люди на меня обиделись. Я не знаю на что тут обижаться. Это просто факт. Программа на C++ гораздо быстрее чем такая же программа на Python. Но у Python другие плюсы. На нем, например, сильно сокращается время разработки.

При этом нельзя сказать, что эти тормоза как-либо ощущаются. Например, программа на пайтоне может работать в 10 раз медленнее, чем программа на C++. При этом, например, у вас программа отрабатывает за одну тысячную секунды или одну сотую секунды. Вы все равно этого не замечаете.

About Ranger

Вообще преимущества этого менеджера в том, что он очень гибкий, легко настраивается и имеет хоткеи как у Vim. Если вы работаете в Vim, то для вас это будет вообще сказка.

Например, для того чтобы перейти в начало мы можем нажать gg, а чтобы в конец G

Чтобы переименовать файл нажимаем aa

Для навигации можно использовать все те же привычные H J K L

Для того, чтобы найти файл используем / как в Vim

i откроет файл с помощью просмотрщика, r откроет меню "открыть с помощью"

zh покажет скрытые файлы

С помощью прбела можно выбрать несколько файлов и делать с ними что-нибудь.

yy как в Vim скопирует, dd вырежет pp вставит

Вкладки

Есть удобная работа с вкладками

CTRL+N создаст новую вкладку

CTRL+W закроет текущую

tab перейдет на следующую вкладку SHIFT+tab предыдущую

q выход

Shell

Так же можно выполнять любую команду Ranger-a шелла через :

И обычную команду через !

Отличиются режимы тем, что через : запускаются именно функции Ranger, например в Ranger есть своя функция chmod и если мы напишем :chmod +x 1.sh то нам выдаст ошибку, так как там другой синтаксис.

Но если введем !chmod +x 1.sh то все будет нормально, так как выполнится стандартная шеловская команда chmod

Мы так же можем не писать имя если выполняем команду для выделенного файла. Можем сделать просто !chmod +x %f или мы можем выбрать несколько файлов и сделать для них для всех !chmod +x %s

Алиасы

В Ranger есть очень удобные алисы, задаются они подобным образом:

map gd cd ~/Documents
map td tab_new ~/Documents
map md shell mv %s ~/Documents 
map Yd shell cp %s ~/Documents

map ga cd ~/Documents/Articles
map ta tab_new ~/Documents/Articles
map ma shell mv %s ~/Documents/Articles
map Ya shell cp %s ~/Documents/Articles

map gw cd ~/Documents/Work
map tw tab_new ~/Documents/Work
map mw shell mv %s ~/Documents/Work
map Yw shell cp %s ~/Documents/Work

map gb cd ~/Documents/Books
map tb tab_new ~/Documents/Books
map mb shell mv %s ~/Documents/Books
map Yb shell cp %s ~/Documents/Books

map gp cd ~/projects

При нажатии на gd я перейду в ~/Documents

ga перейду в ~/Documents/Articles

gp перейду в ~/projects

То есть я всегда знаю, что кнопка g это вроде "go" а вторая буква это директория в которую я перейду. Это очень  удобно и легко запоминается.

По такой же аналогии и с точно такими же вторыми буквами есть создание нового таба через кнопку t, копирование через кнопку Y и перемещение через кнопку m

На алиас я могу добавить абсолютно любую свою команду. Я вот уже показывал вам, что я могу нажать прость x и файлик скопируется на мой сервер и ссылка у меня окажется в буфере обмена.

Или я могу нажать на кнопку Z и все выделенные файлы у меня запакуются в zip архив. Нажать на кнопку T и выделенные файлы запакуются в .tag.gz

Можно легко работать с изображениями, например C поворачивает картинку на 90 градусов по часовой стрелке, а F зеркалит картинку по горизонтали.

Сортировка

Сортировать файлы тоже довольно просто. os сортирует по размеру, ob по имени, om по времени создания файла, oc по времени изменения, ot по типу, oe по расширению.  

Конфигурирование

Настраивается Ranger в трех файлах

rc.conf - в котором находятся все ваши горячие клавиши и то, что загружается вместе с ranger

commands.py - в котором будут все ваши кастомные функции запускаемые через :

rifle.conf - в котором вы определяете какой тип файла какой программой открывать

Аналог на С++

У Ranger есть форк на C++, который вроде бы еще в продакшене. По крайней мере когда я смотрел еще не было stable версии. Не помню как она называется. С удовольствием попробую ее, когда появится стабильная версия.