LINUX.ORG.RU

Vifm 0.9.1

 , , , ,


1

2

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

Новая версия расширяет список вариантов отображения файлов, добавляя колонки Миллера и вариант сетки с заполнением по колонкам. Остальные изменения повышают связанность встроенных функций vifm, а также расширяют взаимодействие с внешними приложениями.

Основные изменения:

  • новые опции 'millerview' и 'milleroptions' для включения и настройки колонок Миллера;
  • опция 'lsoptions' для транспонирования представления в виде сетки;
  • более естественное поведение комбинаций перемещения в режиме сетки;
  • новый параметр командной строки --remote-expr, который позволяет выполнить произвольное выражение в запущенном экземпляре приложения и получить результат;
  • больше вариантов использования команды :highlight в интерактивном режиме;
  • ранее подсчитанные размеры каталогов теперь автоматически обновляются вместо того, чтобы сбрасываться при обнаружении изменений;
  • запрос выбора действия у пользователя (повторить/продолжить/отменить) в случае ошибки файловой операции теперь отображается в большем количестве случаев при включенной 'syscalls' опции.

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

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

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

★★★★★

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

В целом не пошло.

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

Но, думаю, из двухпанельников ему уже равных нет, хотя бы среди vi-like.

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

ОК, спасибо. Я отвечу на пункты, может ответы кому-то ещё пригодятся.

не осилил сделать цветовую схему с дефолтными цветами (чтобы жрало цвета терминала)

Если правильно понял, то там просто default надо писать:

highlight Win cterm=none ctermfg=white ctermbg=default
"                                             ^^^^^^^^

команды некоторые не очевидны

Может быть, особенно для исторически сложившихся.

невозможность отключения двухпанельного режима

Всегда можно было. :only или Ctrl-W+O.

(обычный режим с табами)

Табы будут в следующей версии.

или использовать большее число панелей.

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

xaizek ★★★★★ ()
Последнее исправление: xaizek (всего исправлений: 1)
Ответ на: комментарий от xaizek

highlight Win cterm=none ctermfg=white ctermbg=default

Вимосовместимые цветосхемы? Прекрасно!

Может быть, особенно для исторически сложившихся.

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

Ctrl-W+O

Это всё меняет.

Табы будут в следующей версии.

Я на тег vim подписан, так что попробую потыкать со следующей новости.

(оно и на команды не очень ляжет и управление окнами надо переделывать)

Ну так ты ж пилишь в первую очередь под свои нужды. Если следовать каждой хотелке каждого юзера, vifm превратится в mc с vi-like управлением, а оно никому лучше не сделает. Вот плагины — было бы куда полезнее.

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

Вимосовместимые цветосхемы?

Синтаксис из Vim, хоть и не в полном объёме, но вот так взять схему из Vim нельзя, группы же другие.

Если следовать каждой хотелке каждого юзера, vifm превратится в mc с vi-like управлением, а оно никому лучше не сделает.

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

Вот плагины — было бы куда полезнее.

Какого типа, для архивов/ssh/etc. или под задачи (какая-нибудь интеграция с git, например)?

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

но вот так взять схему из Vim нельзя, группы же другие

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

Какого типа, для архивов/ssh/etc. или под задачи (какая-нибудь интеграция с git, например)?

Монтирование файловых систем, подключение к удалённым, интеграция тоже полезна — svn, git, csv… Если будет возможность пилить плагины, желающие и нуждающиеся сами подтянутся, главное — чтобы архитектура позволяла реализовать.

r3lgar ★★★★★ ()

Эти консольные программы очень пригодятся в грядущем ядерном апокалипсисе. К уцелевшим линукс-девайсам будем подключать бог весть какие устройства отображения

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

Не помню, чтобы кто-то проводил сравнение. Наверное, чем-то лучше, а чем-то хуже. В mc по крайней мере больше встроенного (удалённые ФС и подобное), shell встроен в интерфейс тоже. Ещё mc, вроде, больше Emacs-like в целом.

xaizek ★★★★★ ()

Проект очень интересный, но не уверен, что «мой».

А есть где-нибудь шпаргалка по основным командам и хоткеям? Для mc такие существуют, например (сторонние энтузиасты собирали, на юниксфоруме, например). И это при том, что у mc в целом классическая нортоноподобная система команд, а для сабжа, подозреваю, как бы не пришлось что-то уровня vimtutor городить...

hobbit ★★★★★ ()

Я им как-то невзначай чуть весь хомяк не грохнул (в последнюю долю секунды затормозил руку перед ZZ), после чего эксперименты с ним прекратил. Как оно так получилось - не понял.

anonymous ()

Скомпилил из сорцов. Почему не cmake? Типа минималистичность и configure есть у всех?

Это одновременно и очень круто. Не, серьезно, это реально здорово и очень страшно. %)

Нет, пользоваться этим можно, спасибо за стрелки и Enter, но только там, где почему-то нет mc. На каждый день это - явно не для меня.

sniper21 ★★★★★ ()

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

это можно как-то отменить в процессе?

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

с фейковым рутом где-нибудь в /tmp и заданиями в виде текстовых файлов

chroot, вроде, только root может исползовать. А попытка сделать такую директорию была, но непростое это дело.

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

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

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

Почему не cmake? Типа минималистичность и configure есть у всех?

Более стандартно и переносимо по Unix-подобным системам, да и мне cmake слишком не по нраву, чтобы на него что-то переводить.

в Makefile почему-то в ключе CFLAGS -pthread два раза.

Я вижу только один.

xaizek ★★★★★ ()

Не собирается

configure без ключей проходит успешно, а make нет:

[d_a@work vifm]$ make
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/sh /home/d_a/tmp/vifm/build-aux/missing aclocal-1.15 
/home/d_a/tmp/vifm/build-aux/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
make: *** [aclocal.m4] Error 127

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

Странно, сколонировал репу:

git clone https://github.com/vifm/vifm.git

./configure нормально отработал, странно что у d_a сломалось.

А нет, всё впорядке, у меня тоже сломалось.

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

Это эффект от совмещения autotools с git. Make же определяет что что-то изменилось по времени, и неправильное время всё портит. Другой вариант, это не класть configure в репозиторий, но тогда для сборки надо требовать наличие autotools. Исходники же в основном распространяются в архивах и там такой проблемы нет.

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

А нет, всё впорядке, у меня тоже сломалось.

:) Оно ещё может не всегда проявляться, зависит от порядка, в котором git файлы будет создавать.

xaizek ★★★★★ ()
Последнее исправление: xaizek (всего исправлений: 1)

Я тут поною стандартно

Отчего все делают управление файлами и никто не делает управление файловыми системами? По-моему это гораздо важнее, учитывая что в линуксе всё -- файловая система. Как мне зайти на флешку, скинуть файлы и в этой же программе отключить её? В прошлый раз в теме про mc мне на полном серьёзе объясняли что это не нормально и я не должен такого хотеть.

d_a ★★★★★ ()
Ответ на: Я тут поною стандартно от d_a

Да, это известная тема. Проблема в том, что это включает в себя всякие dbus/policykit/etc., и это только на линуксе. Я несколько лет назад искал библиотеку, которая бы абстрагировала это всё на разных ОС, но ничего толкового не нашёл (может уже появилась, правда). В POSIX подходящего нет, и вот каждая система на новый лад всё делает.

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

Ах да, и ещё

Writeback cache засрать очень любят при копировании на внешний носитель (я не про vifm, не знаю как у него с этим). Как если бы memset не был написан на интринсиках и вытеснял процессорный кэш своими нулями. Потом юзера на "12309" жалуются и прогрессбар нерабочий. Ну это конечно в меньшей степени критично, нет поддержки внешних носителей -- нет проблем, как бы.

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

еще чуть ли не в каждом дистре/ДЕ какая-нибудь своя приблуда для этого

мне кажется, что вариант sudo+mount звучит сильно как хак, но, при этом, будет наиболее портируемым

actionless ★★★★★ ()

новый параметр командной строки --remote-expr, который позволяет

Выполнить команду в запущенном с правами root экземпляре? Или так нельзя?

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

Если ничего готового так и нет, то наиболее универсальным вариантом видимо будет предоставить способ настройки команд монтирования/отмонтирования/получения списка устройств, так чтобы там можно было вызвать что-то характерное для данной системы. И может предоставить по умолчанию поддержку каких-то популярных средств.

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

новый параметр командной строки --remote-expr, который позволяет

Выполнить команду в запущенном с правами root экземпляре? Или так нельзя?

Нельзя, права доступа не дадут такое сделать.

xaizek ★★★★★ ()