LINUX.ORG.RU

Vifm 0.8.1 — двухпанельный консольный файловый менеджер

 , ,


0

4

Vifm является двухпанельным консольным файловым менеджером с Vim-подобным модальным управлением и некоторыми идеями, позаимствованными из почтового клиента mutt.

Новая версия в основном привносит разрознённые улучшения, связанные с возможностями прошлых выпусков. Из более существенных изменений можно отметить навигацию к директориям/файлам с помощью меток (тегов) и применение настроек к специфичным каталогам или поддеревьям файловой системы (достигается связкой автокоманд и локальных опций).

Изменения более подробно:

  • возможность устанавливать опции, автоматически сбрасываемые при смене каталога;
  • пометка файлов/каталогов тегами (в дополнение к односимвольным меткам, которые ограничены количественно и не очень хорошо подходят для редко используемых путей);
  • автокоманды, для которых пока доступно одно событие посещения каталога (DirEnter);
  • дополнительный вид сортировки, который использует участок имени файла, совпавший с регулярным выражением;
  • встроенный tree-подобный предварительный просмотр содержимого каталогов;
  • возможность передачи списков из меню в quickfix-список Vim;
  • дополнительный микро-режим просмотра содержимого командной строки, которое не умещается на экране;
  • новая (более безопасная) реализация взаимодействия с запущенными экземплярами с возможностью их именования и перечисления;
  • установка опций в конфигурационном файле, затрагивающих обе панели, больше не требует дополнительных действий (таких как использование команды :windo);
  • более предсказуемое обновление позиции курсора после изменения списка файлов;
  • различные улучшения, связанные с разбором команд и выражений.

>>> Скриншоты

>>> Ссылки для загрузки

>>> Подробности

★★★★★

Проверено: fallout4all ()
Последнее исправление: fallout4all (всего исправлений: 2)
Ответ на: комментарий от Xintrea

тебе это только кажется, хотел бы разобраться - понял бы что ошибаешься

q11q11 ★★★★★
()
Ответ на: комментарий от makoven

0/$ это для строк и они работают после set lsview.

xaizek ★★★★★
() автор топика
Ответ на: комментарий от Centaur

И я полагаю, что это теоретически возможно. «Суть такова» — создаём псевдотерминал (pty), пускаем шелл в нём.

Это уж очень костыльно, специально не упомянул такой вариант. Запускать оболочку в интерактивном режиме в фоне и отправлять ей tab и другие символы, а потом парсить её вывод, который ещё надо заставить выводиться в виде пригодном для разбора. Хотя, забавы ради, может быть интересно проверить работоспособность такого варианта (кроме вывода в несколько столбцов ещё могут мешаться управляющие символы, как минимум).

xaizek ★★★★★
() автор топика
Ответ на: комментарий от xaizek

Даже незнаю. vim удобен как тестовый редактор, но тащить такое управление всюду - странно. Всякие vimperator и подобные никогда не понимал.

pawnhearts ★★★★★
()
Ответ на: комментарий от pawnhearts

Дело привычки, просто когда автоматически пытаешься сделать что-нибудь вроде «y2k» и понимаешь, что это действительно было бы более эффективно, то хочется найти способ так сделать. Но, скажем, в оболочке vi-режим у меня использовать вообще не получается, emacs-like сочетания как-то больше подходят для одной строки (хотя в emacs часть из них другие на самом деле, что удивляет).

xaizek ★★★★★
() автор топика
Ответ на: комментарий от xaizek

Под панелями всё равно должен работать интерактивный шелл. Не вижу, почему будет плохо, если при включённых панелях оставлять его наверху, в маленьком окошке.

Парсить вывод альтернатив — это уже задача со звёздочкой. По минимуму, достаточно их показать.

Centaur
()
Ответ на: комментарий от Centaur

Под панелями всё равно должен работать интерактивный шелл.

Кажется так ни один файловый менеджер не делает, это не так легко. Командная строка в том же mc это его командная строка.

Не вижу, почему будет плохо, если при включённых панелях оставлять его наверху, в маленьком окошке.

Потому что для реализации этого надо эмулировать работу терминала. Не будут два интерактивных приложения нормально делить один терминал без специальных средств, доступ надо чередовать причём с сохранением/восстановлением состояния терминала.

Парсить вывод альтернатив — это уже задача со звёздочкой. По минимуму, достаточно их показать.

Интерфейс может этого не позволить (обычно он будет просто скролиться вверх, а потом перерисовываться).

xaizek ★★★★★
() автор топика
Ответ на: комментарий от xaizek

Под панелями всё равно должен работать интерактивный шелл.

Кажется так ни один файловый менеджер не делает, это не так легко. Командная строка в том же mc это его командная строка.

Я имел в виду тот шелл, который за панелями. В mc он таки в псевдотерминале. Да, вытащить его наверх — сложно. Но если это сделать, то будет офигенно.

Centaur
()
Ответ на: комментарий от Odalist

antiX-15

лучше кранча уже ничего не будет

Может проблема в плагинах?

стандартная установка в бубунте, хз что ставится до кучи, но тунар уже привычнее как-то

q11q11 ★★★★★
()
Ответ на: комментарий от AVRS

Я это как бы в шутку было. Я ни vifm, ни mc не пользуюсь. Более того, сабж щупал мимоходом несколько минут, а mc выкинул сразу, как только открыл — там глазовыкалывательная цветовая схема искаропки.

Двухпанельники — это хорошо, но у меня везде есть spacefm, к которому я очень привык, а там аж четыре панели можно.

Минус консольных файломанагеров лишь в том, что в них нет превьюшек картинок, с которыми я работаю постоянно.

r3lgar ★★★★★
()
19 марта 2016 г.

Хороший ФМ с гибкими настройками. С удовольствием заменил бы им mc, но:

1. Для обеспечения доступа по ssh мне понадобилось установить sshfs и подключить модуль ядра fuse. Тем не менее, все равно не удалось подключиться к устройствам, поддерживающим только scp без sftp (два из трех моих роутеров). У mc этот функционал есть, причем из коробки.

2. Нет традиционной для многих ФМ поддержки архивов. Управление tar из командной строки ФМ с помощью Command macros / Pasting special values конечно дисциплинирует, но... Хотелось бы, как минимум, открывать архивы как папки в стандартной панели, а не попадать в «прикрученный» через fuse плагин для vi. Последний позволяет без труда отредактировать любой из упакованных файлов (логично для vi), но не позволяет ни рапаковать его, ни что-нибудь добавить в архив или изменить в нем (логично для ФМ, имхо). Добавить файлы в упакованный tar-архив (*.tar.gz, *.tar.bz, *.tar.xz) без переупаковки не получилось даже при помощи командной строки.

Может быть я просто не умею «готовить» этот ФМ? Подскажите пожалуйста.

PS: Руководству нужны доработка и локализации. В частности в этой новости говорится о режиме древовидного просмотра, а в руководстве отсутствует слово «tree» (не считая двух «three» с ошибкой ;), ни слова об использовании «bulk renaming», о которых говорится на Вашем сайте в разделе «фич». Также хотелось бы видеть на сайте описание новостей с указанием добавленных и измененных команд, режимов и т.д. на языке руководства.

vzel
()
Ответ на: комментарий от vzel

Для обеспечения доступа по ssh мне понадобилось установить sshfs и подключить модуль ядра fuse. Тем не менее, все равно не удалось подключиться к устройствам, поддерживающим только scp без sftp (два из трех моих роутеров). У mc этот функционал есть, причем из коробки.

Да, это конечно не всегда удобно, но встраивать ничего подобного не хотелось бы. Оно и так уже в слишком большом количестве ФМ сделано кучу раз. FUSE довольно неплохой компромис, кроме случаев, когда не работает или же работает медленно.

Нет традиционной для многих ФМ поддержки архивов. ...

Это тоже можно сделать через FUSE и тогда это всё появляется, хотя скорость сравнительно тяжёлых операций не радует (FUSE реализации просто не оптимизированы и каждый раз парсят всё).

Может быть я просто не умею «готовить» этот ФМ?

Он просто не создан уметь всё и из коробки. SSH и архивы требуют полноценной VFS, но её добавление кажется лишним (в ядре уже есть) и очень объёмным изменением, хотя и удобным.

Руководству нужны доработка и локализации.

Доработка это да, а локализации, кажется, только трудности создадут, их же поддерживать в актуальном состоянии надо (ну и перевести изначально).

а в руководстве отсутствует слово «tree» (не считая двух «three» с ошибкой ;)

Неожиданно, спасибо. Речь о :view или e на каталоге.

ни слова об использовании «bulk renaming»

Просто не в таких терминах. В основном это команда :rename, хотя :tr, :substitute, Ctrl-A и т.д. можно туда же, наверное. На wiki должно было быть в более user-friendly форме, но как-то писать документацию надолго не хватает... А man больше в стиле справочника, чем руководства, поэтому сопоставить не так просто.

Также хотелось бы видеть на сайте описание новостей с указанием добавленных и измененных команд, режимов и т.д. на языке руководства.

Для 0.8.1, да и обычно, так и есть в «More detailed list of changes...», там просто на главной сейчас bugfix-релиз.

xaizek ★★★★★
() автор топика
Ответ на: комментарий от xaizek

Спасибо за хороший ФМ, оперативный ответ и More detailed list of changes! Недосмотрел.

По поводу удаленных хостов и архивов. Думаю, что для многих потенциальных пользователей этого ФМ, как и для меня, его зависимости от fuse/vfm, а также некоторое падение производительности и юзабилити при их использовании - не проблема. Не так уж часто ими пользуются в большинстве случаев. Речь о другом.

1. Необходимой vfs для подключения по ssh к удаленным хостам без sftp сервера (а это большинство встраиваемых систем) просто нет. Возможно это было одной из причин появления протокола fish в mc. Этот функционал имеют немногие nix-ФМ, использующие тот же fish. Открытый...

2. Как получить традиционную поддержку архивов через fuse/vfs? Интегрированный сейчас плагин хорош для vim. Там он показывает содержимое архива в стандартном окне, позволяет изменить любой файл и автоматически переупаковывает архив после таких изменений. Вот если бы аналог в vifm открывал содержимое архива в одной из [двух] стандартных панелей, предоставляя т.о. некую часть их базового функционала, и автоматически переупаковывал архив при изменении содержимого...

Надеюсь, эти мелочи когда-нибудь попадут в список Ваших приоритетов.

vzel
()
Ответ на: комментарий от vzel

Необходимой vfs для подключения по ssh к удаленным хостам без sftp сервера просто нет.

Это да, может его можно в FUSE завернуть попробовать.

Как получить традиционную поддержку архивов через fuse/vfs?

Такое? Надо установить соответствующие FUSE-ФС (см.).

Интегрированный сейчас плагин хорош для vim.

Это Vim сам по себе делает, точнее его стандартный netrw плагин.

xaizek ★★★★★
() автор топика
Ответ на: комментарий от xaizek

Спасибо! Теперь, после установки недостающих пакетов заработала поддержка архивов.

Но сама концепция подключения fuse-vfs кажется мне спорной. С одной стороны наличие стандартного интерфейса для сторонних плагинов безусловно ускорило развитие многих популярных ФМ.

Но современный консольный ФМ с vim-управлением и ... набором зависимостей. Причем необходимые fuse-vfs пакеты (fuse-7z, archivemount ...) даже в популярных десктопных дистрибутивах лежат в тестовых/сторонних репах. А на встраиваемых? Захотят ли утяжелять ядро и ставить нестабильный софт на серверах? (Тем более, есть проверенный mc.)

Имхо, удачный неприхотливый вседорожник превращается в спортивный автомобиль, требовательный к топливу, маслам и ТО...

Кстати, популярные под виндой модульные ФМ, такие как far или tc, распространяются преимущественно сборками, с набором проверенных плагинов из коробки.

Искренне желаю удачи проекту, потенциал которого ценю очень высоко!

vzel
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.