vifm - консольный файловый менеджер в духе Vi
Недавно, в поисках дополнительной информации по консольному файловому менеджеру mc (Midnight Commander), я случайно наткнулся на упоминание о молодом файловом менеджере в духе Vi - Vifm. Расшифровывается банально просто - Vi File Manager. Написан он так же как и mc используя ncurses. Несмотря на то, что проект еще молод, vifm крайне удобен, и юзабелен и я вот на вскидку, не могу даже вспомнить ни одного глюка.
Как понятно из его название, управляться он будет подобно текстовому редактору vim. Выглядит vifm примерно так:
Домашняя страница vifm находиться здесь - vifm home page. Там можно скачать, и ознакомиться с англоязычной документацией.
В arch linux, vifm есть в репозитарии aur:
yaourt -S vifm-git
Я предпочитаю git версию. Хотя разницы особо я не заметил :)
Что же нам предоставляет этот vifm? Предоставляет он не много, но очень удобно (странно, но это пишет человек который не использует vi(vim), а использует emacs). В основном, это управление в стиле vi (vim).
Базовая навигация
Команды для базовой навигации по каталогам:
- j\k - вверх\вниз
- h - в предыдущий катало
- l - в следующий
- G - к последнему файлу текущей директории
- gg - к первому файлу текущей директории
- 5G - перейти к файлу под номером 5
- Ctrl-F\PageDown - на страницу назад
- ctrl-B\PageUp - на страницу вперед
- 34% - пролистать каталог на 34%
- :34 - перейти на 34 линию
- Пробел\Tab - переключение между окнами
- ctrl-g - показать детальную информацию о файле или директории(в всплывающем окне)
Маркировка(Marks)
Каждой директории, можно назначить клавишу быстрого вызова так сказать. Например, есть директория music, в которой содержится музыка. Директория находиться на отдельном жестком диске, в директории /mnt
и путь выглядит так: /mnt/other_hard/music
. Запускаем vifm (в качестве аргумента при запуске, можно передать полный путь до директории, и vifm запуститься открыв ее), переходим в эту директорию и жмем M(именно большую, т.е. жмем Shift-m
) и любую букву или цифру. На пример "m"(имейте в виду: строчная, или заглавная буква определяется по разному. Т.е. "m" и "M" это разное). В дальнейшем, что бы перейти быстро в эту директорию, достаточно нажать ' - m, и вы сразу перейдете в эту директорию. Можно посмотреть все маркировки которые установлены командой :marks
.
Поиск
Для того что бы начать поиск, достаточно просто нажать /
и следом текст для поиска. Например для поиска файла с именем test пишем:
/test
Жмем Enter. Если несколько совпадений, то можно перескакивать между ними используя n
- для следующего совпадения, и N
для предыдущего. Все совпадения подсвечиваются.
Команды управления файлами
t
- используется для отметки файла (аналог кнопки insert в mc). Можно выделить несколько файлов, и нажать dd
для удаления (точнее для перемещения в корзину). Что бы скопировать один или несколько файлов, используется yy
(yanks), а для того что бы вставить p
Сортировка и фильтры
Для просмотра скрытых файлов (начинающихся с точки), используется zo
, для того что бы снова их скрыть zm
.
Можно использовать фильтры для того, что бы не показывать файлы с определенным разрешением, или содержащие какое-то слово. Например что бы не отображать в директории файлы с расширением .png надо написать следующее:
:fil /\*.png\$
После этого, все файлы с расширением .png не будут отображаться. Так же можно по названию файла:
:fil todo
Главное не забыть потом вернуть все как было, иначе вы их больше не увидите, и будете гадать куда же они пропали. Вернуть можно так: ":fil /".
Пользовательский команды
Можно назначить так называемые пользовательские команды для каких либо действий. Например для запуска smplayer.. Для добавление, используется команда :com
. Если вызвать ее без параметров, то появиться окно, в котором будут все пользовательские команды. У команды :com
такой синтаксис:
:com имя_команды команда
Например создадим команду video которая будет открывать выбранный файл, в smplayer:
:com video smplayer
Затем пишем :com
и видим в списке только что созданную комадну video.
Что бы удалить команду, используется команда (вот тавтология) :delc
. Передавать ей надо название команды. Удалим команду video:
:delc video
Остальные команды vifm
- :q\:x - выход ;)
- :sh - запустить командную оболочку
- :! - выполнить команду в оболочке
- :!! \<имя програмы> - тоже самое что и :! только задержит экран оболочки перед возвратом в vifm.
- :!! - повторить последнюю команду
- :e - загрузить текущий файл в vi
- :pwd - показать текущую директорию
- :cd \<путь> - перейти в директорию
- :history - покажет историю посещаемых директорий
- :split - делит экран пополам вертикально
- :only - оставить только одно окно
- :empty - очистить корзину
- :help - помощь ;)
Я описал лишь базовые возможности. При желании, можно много применений изобрести. Главное желание. И не забываем про man vifm
и встроенную справку, которая вызывается командой :help
в самом vifm.