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.


Понравилась статья? Поделись с друзьями!




Комментарии на этом сайте требуют включенного Javascript в вашем браузере. Вероятно, ваш браузер не поддерживает Javascript, или он был отключен по каким-то причинам. Если вы хотите прокомментировать пост, или просто почитать комментарии, то пожалуйста, включите Javascript или попробуйте открыть эту страницу другим браузером.