Состоялся (https://mail.gnome.org/archives/mc-devel/2016-March/msg00010...) выпуск консольного файлового менеджера Midnight Commander 4.8.16 (http://www.midnight-commander.org/), распространяемого в исходных текстах под лицензией GPLv3+.Список основных изменений (https://www.midnight-commander.org/wiki/NEWS-4.8.16):
- Проведена работа по увеличению удобства интерфейса поиска файлов. Убран флаг поиска с учётом содержимого ("Search for
content"), который теперь применяется автоматически на основе заполнения поля с маской поиска внутри файлов. Пустое значение маски файла теперь приводит к выводу всех встретившихся файлов (не нужно обязательно указывать звёздочку);- Поддержка командного интерпретатора ash и устранение ошибок в коде поддержки bash и fish;
- Улучшена реализация списков и их прокрутка колесом мыши;
- Поддержка форматов сжатия lzip и lz4;
- Поддержка просмотра патчей (patchfs), сжатых утилитой xz;
- В mc.ext добавлены шаблоны для initramfs / initrd;
- Во встроенном редакторе обеспечена подсветка синтаксиса для языка Go. Обновлены правила подсветки для файлов конфигурации Puppet;
- Исправлено около 30 ошибок.URL: https://mail.gnome.org/archives/mc-devel/2016-March/msg00010...
Новость: http://www.opennet.me/opennews/art.shtml?num=44038
Годнота!
Дас ист хорошо.На всякий случай приношу свои извинения разработчикам emacs, vi, nano и т.д. за то, что не смог осилить их продукты.
да, особенно nano, который наверное сделали ботаники
> ботаникиЭто те, которые копаются со всякими корешками, пыльцой и хлорофиллом? Да, похоже на разработчиков нано
У mc редактор удобнее, шорткаты более человеческие. А в просмотрщике есть даже простенький hex редактор, очень удобно. Еще бы перестало mc клинить при перемотке в конец 10Gb файла - цены бы ему не было.
я вим освоил после того, как мне показали, как в нем можно одним махом выполнять действия над произвольными блоками текста. вроде откомментить/раскомментить, вставить, заменить и т.д. до этого пользовался nano и в ус не дул. ну и выделения, вставки, вырезания там супер удобные.
это все круто, мне тоже бывало нужен был такой функционал, но как то не осилил и лень. человеку которому изредка нужно поправить пару строчек в конфигах это точно не особо нужно. а тем кто что то серьезное пишет они ваяют это в IDE и им в целом пофиг на это дело, поскольку врядли оно им надо. в общем это нужно только обдолбанному одмину в тапках ;)
> это все крутоГлавное, что сильно облегчает работу с текстом.
> мне тоже бывало нужен был такой функционал, но как то не осилил и лень.
Оторвите от комментирования четверть часа на установку и прохождение vimtutor :)
> Оторвите от комментирования четверть часа на установку и прохождение vimtutor :)Не отменяет того факта что vim'овские команды требуют слишком много нажатий кнопок. Быстренько отредактировать конфиг или исходник по месту mc самое то. А для тяжеловесного патчинга большого проекта лучше что-нибудь более похожее на IDE взять все-таки. Там удобные средства есть, даже в geany и kate.
> Не отменяет того факта что vim'овские команды требуют слишком много нажатий кнопокя раньше говорил примерно то же самое. один в один.
http://vim-adventures.com/
> Оторвите от комментирования четверть часа на установку и прохождение vimtutor :)Оторваться от комментирования на опеннете?! Вот так вот, взять и перестать писать коменты? Совсем не писать? У-у-у!
хз я согласен что vi, vim, emacs это для избранных, но с nano то в чем у Вас возникли проблемы? ;)
> хз я согласен что vi, vim, emacs это для избранных, но с
> nano то в чем у Вас возникли проблемы? ;)Хочешь назвать меня дураком? Так и скажи.
Нововведение в районе 2013 г.: nano научили делать undo.
Эта передовая фича потребовала компиляции/запуска со спец. параметрами.
[/troll_mode]
Наконец-то нормальный редактор для Go сделали.
В печь идею, давате сюда mcedit
Отличная новость!
Пользовался очень давно им, скажите, так всё ещё и тормозит жутко при распаковке/копировании многих мелких файлов?
Помню процедура распаковки занимала до 5 минут, когда команда tar xf того же файла выполнялась за несколько секунд (распаковку делал на разных машинах похожих по железу, если вдруг кто подумал про кэш)
да, к сожалению...
тоскапечаль совсем...
Сейчас набегут и скажут тебе, что это тру, ибо реализация истинно верная - юниксвейная.
могут набижать и адепты фар под вайн :)
Пробовал. Работает. Большой разницы c mc не заметил.
> Пробовал. Работает. Большой разницы c mc не заметил.Навигация по *nix-овой файловой системе - кривая, права отредактировать нельзя (в mc c-x, c и c-x, o). Зато есть c-a который как бы редактирует какие-то DOSовые права, но что он при этом в *nix отредактирует - загадка.
> реализация истинно верная - юниксвейная.Мигель запилил, Мигель не может ошибаться, Мигель истинно вейный!
Unixway тут не причем. Проблема в том, что mc обновляет статус операции на экране для каждого файла. Особенно это раздражает, когда работаешь на tmpfs. У меня уже привычка выработалась rm -rf <alt>+<enter> нажимать ибо это на порядок быстрее, чем ждать пока mc удалит директорию с большим количество мелких файлов.Для какой-то операции (вроде при подсчете размера директории) это исправили, ждем для остальных ;)
А вот наш Михаил Зенков. У которого иксы "не тормозят", но почему-то перерисовка статуса операции его напрягает.
Попробуете сами: распакуйте исходники ядра в tmpfs, удалите их из mc. Потом повторите, но удалите используя rm -rf.По-вашему нормально, когда статус обновляется 50000 раз на операции, которая должна занимать 0.2 секунды?
P.S. Xorg тут не причем, я специально патчил st для ограничения максимального fps. Тормозит именно mc.
> По-вашему нормально, когда статус обновляется 50000 раз на операции, которая должна занимать
> 0.2 секунды?Если система напрягается перерисовать 50 000 раз небольшой участок экрана за 0.2 секунды - с выводом графики дело плохо. А операция может занять и 5 минут. Создайте миллион файлов в каталоге. А теперь попробуйте стереть этим вашим rm, тогда и поговорим о потреблении ресурсов. Миднайт правда тоже умрет если сканирование иерархий разрешено.
> P.S. Xorg тут не причем, я специально патчил st для ограничения максимального
> fps. Тормозит именно mc.Тормозит отрисовка, в которую упирается mc. FPS тут вообще очень опосредованно. Draw call - одно. FPS - другое.
Специально для вас не поленился - запустил sysprof:
mc - 71.15%
st - 19.81%
X - 3.54%Хоть у st и ограничен fps, ему все равно приходится обрабатывать весь этот поток от mc. Процедуры рендеринга в st < 0.01%. Xorg запускался на amd с его кривоватой реализацией exa. На intel/sna было бы еще меньше.
Самая медленная функция в mc - _nc_hash_map (ncurses) 20.93% от общего потребления, остальное - прочие функции форматирования текста и работы с unicode.
Полный отчет профайлера (открывать в sysprof): http://knk.square7.ch/mc.prof
> Если система напрягается перерисовать 50 000 раз небольшой участок экрана
> за 0.2 секунды - с выводом графики дело плохо.Когда человек без имени и аргументов наезжает на человека с именем и аргументами,
получается даже не смешно.Вы вообще в курсе, какое количество изменений в секунду в принципе осмысленно отрисовывать для человеческого глаза? А для LCD-матрицы?
Зипы пофайлово разархивируются. С вызовом на каждый файл unzip.
Да, но это совершенно другая проблема. Человек говорил о tar xf, а не об unzip.
В MC общая архитектура работы с архивами. Не тормозит - значит норм, тормозит - 99% что все упирается в пофайловую разархивацию через конкретную консольную утилиту.
У меня всё распаковывается быстро, за исключением одного единственного типа архива, который всё ещё довольно распространён в сети - zip. Вот zip распаковывается просто с ужасающе низкой скоростью порядка пары килобайт в секунду.Неужели разработчикам mc не очевидно что текущую реализацию распаковки для zip файлов надо исправить в первую очередь, а остальные баги отложить на потом.
Я думаю, это не исправят, т.к. mc распаковывает файлы по-одному (чтобы иметь возможность распакоывать то, что надо и туда, куда надо), а tar - весь архив целиком.
Как медленно распаковывал ZIP архивы, так и распаковывает. Кажется, теперь ещё медленнее.
>Убран флаг поиска с учётом содержимого ("Search for content")Весьма спорное "улучшение".
>Поддержка форматов сжатия lzip и lz4;Но продолжает виснуть на rar с паролем и тормозить при распаковке zip. Молодцы, чё.
Бага есть?
>Бага есть?Криокамера протекла? Держи, анабиозник: https://www.midnight-commander.org/ticket/1685
Что в нём спорного? Есть контент - ищем его, нет - не ищем. Стереть не сложнее, чем галку снять, а путаницы меньше. Кому нужно сохранять значение - хистори в помощь.В общем, спасибо - убрали то, обо что я регулярно бился, как и о пустую маску.
Вообще - просто образец того, какие должны быть релизы для стабильного софта - только фиксы, никаких "новых морд" и подобной чуши.
А что до rar - ну вперёд, патчам наверняка будут рады. С zip вообще не понимаю стонов - поглядеть архив и файлы по одному просмотреть/распаковать - всё в порядке, а целиком - один хрен проще сказать unzip %f
>Кому нужно сохранять значение - хистори в помощь.Тут действительно Alt+P, Alt+N удобней чем каждый раз ставить флаг поиска.
>С zip вообще не понимаю стонов - поглядеть архив и файлы по одному просмотреть/распаковать - всё в порядке, а целиком - один хрен проще сказать unzip %f
Нет не проще. Мне не удобно для распаковки переходить в консоль и писать команду распаковки, работа с zip архивами в Midnight Commander сделана плохо и требует переработки.
>Тут действительно Alt+P, Alt+N удобней чем каждый раз ставить флаг поиска.Если нужен список со всеми пунктами истории то Alt+H.
Куда переходить? Командная строка всегда на экране. Есил слишком сложно - можно добавить в меню по F2 что-то вроде unzip %f -d %DТо есть да, пофиксить скорость работы с zip было бы неплохо, но катастрофы я в этом и близко не вижу.
Если уж на то пошло, гораздо больше раздражает туповатая логика переноса каталога - там вместо мгновенного переноса в пределах одного раздела начинает, как минимум, сканировать каталог, а часто ещё и переносить поэлементно. Но, опять же, mv %f %D - не ахти какая сложность.
Вообще, mc - это прежде всего удобное дополнение к шеллу, а никак не его замена.
> Есил слишком сложно - можно
> добавить в меню по F2 что-то вроде unzip %f -d %DHINT: сделал себе распаковку архивов в соседнюю панель при нажатии на F4. Оказалось очень удобно.
> То есть да, пофиксить скорость работы с zip было бы неплохо, но
> катастрофы я в этом и близко не вижу.
> Если уж на то пошло, гораздо больше раздражает туповатая логика переноса каталога
> - там вместо мгновенного переноса в пределах одного раздела начинает, как
> минимум, сканировать каталог, а часто ещё и переносить поэлементно. Но,
> опять же, mv %f %D - не ахти какая сложность.
> Вообще, mc - это прежде всего удобное дополнение к шеллу, а никак
> не его замена.Да, но на шелл должно ложится то, что mc не умеет и не должен уметь (так как в шелле это делать более удобно). А то, что умеет, он должен делать не хуже (не особо медленнее), чем шел.
Не удержался:
>...Мне не удобно для распаковки переходить в консоль и писать команду распаковки...Оторви левую руку от подбородка, а правую - от мышки. Производительность работы весьма существенно увеличится.
>>С zip вообще не понимаю стонов - поглядеть архив и файлы по одному просмотреть/распаковать - всё в порядке, а целиком - один хрен проще сказать unzip %f
> Нет не проще. Мне не удобно для распаковки переходить в консоль и
> писать команду распаковки, работа с zip архивами в Midnight Commander сделана
> плохо и требует переработки.A и не надо совсем переходить, только пишешь, например:
unzip -l <Alt/Enter><Enter>
ну и <Ctrl/O>, если просмотреть результат надо.
> Что в нём спорного? Есть контент - ищем его, нет - не
> ищем. Стереть не сложнее, чем галку снять, а путаницы меньше. Кому
> нужно сохранять значение - хистори в помощь.Ага, а потом рукам вычищать,если вдруг не устраивает. Хотя я не удивлюсь, ты из тех, кто правой рукой держит телефон перед левым ухом.
> Вообще - просто образец того, какие должны быть релизы для стабильного софта
> - только фиксы, никаких "новых морд" и подобной чуши.Типичные такие фиксы. Столько застарелых багов, а фиксят то, что и так давно работало без проблем.
> А что до rar - ну вперёд, патчам наверняка будут рады. С
> zip вообще не понимаю стонов - поглядеть архив и файлы по
> одному просмотреть/распаковать - всё в порядке, а целиком - один хрен
> проще сказать unzip %fДа проще выкинуть mc, если тебя послушать. Всё равно всё в консоли надо делать. А патчи, первым делом, надо разработчикам на мозг. Но увы, я тут не специалист.
> Ага, а потом рукам вычищать,если вдруг не устраивает.ctrl+up нажать не сложнее, чем таб и пробел.
>ctrl+up нажать не сложнее, чем таб и пробел.А наводить на поле за тебя Пушкин будет? Уже три разных сочетания клавиш. Честно, разрабам просто делать нечего, кроме как менять то, что к чему все давно привыкли.
> А наводить на поле за тебя Пушкин будет?Так при нажатии таб мы все равно сперва попадаем на это поле и только потом на "Поиск по содержимому".
>Так при нажатии таб мы все равно сперва попадаем на это поле и только потом на "Поиск по содержимому".Так о том и речь. Вместо двух табов соло на клавиатуре.
> Но продолжает виснуть на rar с паролем и тормозить при распаковке zip.А если открыть просмотрщиком файл на ...цать гигабайт - все нормально. Пока end не нажмешь, после чего он ... нет, что-то типа fseek(... SEEK_END) было бы слишком просто и быстро. Вместо этого надо прочитать все 20 гигабайт.
А концы строк искать и разметку делать Пушкин будет?
> А концы строк искать и разметку делать Пушкин будет?Это даже с wrap и без formatting бывает. Честно говоря я не понял зачем там вообще какой-то "formatting" и что он делает. А вот ужасные тормоза, при том что эту операцию нельзя прервать - заставляют kill -9 использовать, неудобно. Не ждать же мне 20 минут пока миднайт отформатирует мне все строки в каком-нибудь ISOшнике? Зачем мне там строки вообще? Я хочу быстро понять что это, mc для этого удобен. Если бы не такой клюк.
Отличный менеджер. Но криворукие SuSe сборщики отключили поддержку ssh при сборке, приходится пересобирать
Им бы ещё эту багу пофиксить
https://www.midnight-commander.org/ticket/17
Неудобно копировать из-под root'а - у симлинков-копий владелец root
Советую зарегистрироваться и оставить там свой "крик". Напомнит, что бага скорее важная.
> Улучшена реализация списков и их прокрутка колесом мыши;А в чём улучшение заключается?
Когда они уже догадаются сделать, чтобы в диалоге смены овнера и группы (Ctrl+x o) нажатие на букву приводило к смещению указателя к первому овнеру/группе, с этой буквы начинающемуся... Иногда парит руками листать список, если в системе много юзеров.
А бага есть на это дело? Может, сами они этим диалогом вообще не пользуются, или не используют там, где много юзеров - тогда догадаютя примерно никогда.
хз, у меня с английским не очень :(
https://translate.google.ru/В крайнем случае можно завести багрепорт и на русском языке.
https://github.com/MidnightCommander/mc/issues
https://www.midnight-commander.org/report
ураа! спасибо
никогда не понимал, зачем он нужен :) несколько раз пытался начать им пользоваться, но как-то не срослось. просто консоли всегда было достаточно, а мц только мешал. хотя возможно я просто не правильно его юзал.
но все равно поздравляю всех адептов :)
То что ты не понимаешь, это не означает, что ты умеешь пользоваться консолью.
> никогда не понимал, зачем он нужен :)Разгребать помойку в ~/Download и шариться по архивам; для остального применяю zsh, ssh, rsync, lftp и vim.
Когда нужно быстро просмотреть дерево каталогов, найти в них каталог с нужным файлом, что-нибудь в нем поправить и скопировать из этого каталога куда-нибудь - MC самое то. Это намного удобнее чем 100500 раз набрать:
cd ./QWERTYU
ls
cat ./qwertyui.log
cd ../
find . -type f -exec grep -iH 'somethin' {} \;
find . -type f -iname "asdasdasd*" -exec sed -i'' "s/111/222/g"
это очень удобно.
> никогда не понимал, зачем он нужен :)Один из немногих ФМ, который может показать и отсортировать файлы по atime или ctime. Иногда очень удобно.
> пользоваться, но как-то не срослось. просто консоли всегда было достаточно,В миднайте активное хождение по уровням вложенности файловой системы и изучение того что там есть - сильно быстрее получается. Особнно если включить "links browsing mode", где смена уровня кнопками вправо/влево.
>> пользоваться, но как-то не срослось. просто консоли всегда было достаточно,
> В миднайте активное хождение по уровням вложенности файловой системы и изучение того
> что там есть - сильно быстрее получается.Не-а, если файловая система упорядочена и знакома, а не представляет из себя помойку... исподволь тратишь время вроде бы долями секунды, но на деле оказывается, что лучше всё-таки наводить порядок хотя бы кусочками, а затем ходить по ним всё тем же zsh.
> Особнно если включить "links browsing mode", где смена уровня кнопками вправо/влево.
Без этого в mc вообще туго, напрашивается на умолчание.
Добавили бы в текст новости ссылку на github https://github.com/MidnightCommander/mc может нашлось бы тогда побольше желающих какой-нибудь pull request прислать.
Слать-то можно и так. Но там, к сожалению, некому этими патчами заниматься :( Даже готовыми.
https://github.com/MidnightCommander/mc/commits/masterВроде бы активность высокая, почти каждый день коммиты делают.
Да. Но там одни и те же имена. Не правда-ли?
> Да. Но там одни и те же имена. Не правда-ли?А эти имена не занимаются сторонними патчами, что ли?
(знаю по переписке нескольких человек -- удивился бы)
Один из них - да. Про других не знаю. Но всего у одного времени не хватает.
Годнота, но со скоростью распаковки что то надо делать. Тогда совсем будет сказка.
Оно ещё пилится? Создатель вроде же забросил его? Ну, отлично же! Пользуюсь на серверах, удобная штука.
> Оно ещё пилится? Создатель вроде же забросил его? Ну, отлично же! Пользуюсь
> на серверах, удобная штука.Где чалился, Зоркий Глаз? Обнаружил наконец-то, что нет стены? Дело.
09.11.2015 12:33 Релиз файлового менеджера Midnight Commander 4.8.15
05.09.2014 21:34 Релиз файлового менеджера Midnight Commander 4.8.13
11.07.2013 20:00 Релиз файлового менеджера Midnight Commander 4.8.9
19.07.2012 14:17 Релиз файлового менеджера Midnight Commander 4.8.4 с поддержкой SFTP20.10.2011 10:06 Релиз файлового менеджера Midnight Commander 4.8
..."версия также примечательна переходом на лицензию GPLv3+"...28.12.2010 15:30 Вышел файловый менеджер Midnight Commander 4.7.5
16.01.2010 13:38 Компания Microsoft присудила Мигелю де Икаса звание MVP
25.12.2009 22:46 Вышел Midnight Commander 4.7
"После нескольких лет забвения и практически умирания проекта, новая команда разработчиков Midnight Commander выпустила[...]"21.11.2008 20:13 Вышел форк Midnight Commander
"Вячеслав Занько создал форк консольного файлового менеджера Midnight Commander, находящегося в последние годы в глубокой стагнации (последний релиз вышел в 2005 [...]"
https://geektimes.ru/post/250964/
> 16.01.2010 13:38 Компания Microsoft присудила Мигелю де Икаса звание MVPОднако!
> Создатель вроде же забросил его?Создатель - да и давно. Но нашлись другие. Они, кстати, тоже забросили. Но нашлись следующие. Они были в мае прошлого года как раз на грани тоже забросить. Но пока дышит. Будем надеяться, что выживет.
Пока сорцы есть - всегда найдутся желающие что-то доделать.
Пора Far портировать
> Пора Far портироватьВ добрый путь!
Эт вряд ли!(С)
Уж сколько портировщиков оставили обломанные зубы и уползли поскуливая в кусты ... :(
FAR мне нравиЦЦо, но оно же 19 дюймовыми гвоздями, пневмо-молотом, прибито к форточке.
Так что пилите mc, Шура, оно - золотое! :)
> Убран флаг поиска с учётом содержимогозря убрали - раньше было удобно через Alt+r ставить и снимать флаг, теперь надо будет переходить в строку и удалять все, т.е. интерфейс стал менее удобен, но "более понятен"
Действительно, теперь снятием 1 галки не отделаешься. Блин, зачем чинить то что не сломано?
> Действительно, теперь снятием 1 галки не отделаешься. Блин, зачем чинить то что
> не сломано?А потому, что это просто. И релиз можно выпустить. Главное, чтобы была видимость работы.
Если в новой версии нажатие Alt+r будет производить очистку строки поиска - это будет приемлемо для вашего юзкейса ("сценария использования")?
> Если в новой версии нажатие Alt+r будет производить очистку строки поиска -
> это будет приемлемо для вашего юзкейса ("сценария использования")?Лучше галку верни. Вытягивать пальцы каждый раз крайне неудобно.
>> Если в новой версии нажатие Alt+r будет производить очистку строки поиска -
> Лучше галку верни. Вытягивать пальцы каждый раз крайне неудобно.Это на какой же клавиатуре/раскладке Alt-r -- вытянутые пальцы? Или в каком возрасте? :)
Знаю, что сюда заглядывают уважаемые разработчики mc ))
Хотел спросить, не планируется ли в mcedit реализация режима soft word wrap? Очень жду этой фичи, без неё крайне неудобно редактировать html/markdown c большими блоками сплошного текста.
И что делать у кого серверный вариант сусе и glib =2.14???
> И что делать у кого серверный вариант сусе и glib =2.14???И деревянные игрушки к полу прибиты?
Только у меня mcedit перестал закрываться при нажатии esc?
Нажми ESC второй раз.
Про двойной ESC я знаю :)Тут проблема оказалось в изменении поведения: mc.default.keymap до версии 4.8.4 (2011г) для выхода из mcedit было указано только f10, но mcedit все равно выходил по esc. Потом прописали f10 и esc.
Сейчас поведение изменилось - выход по esc, только если он указан в конфиге. Оно вроде правильно, но у пользователей давно использующих mc и переопределивших свои клавиши появился забавный глюк.
а кто-нибудь ещё использует Demos Commander (deco) из FreeBSD под Линуксом?
Он и под FreeBSD был убог как не знаю что.
Обновил mc до 4.8.16 на FreeBSD, сломался subshell. По ctrl+o показывает интерпретатор, но нажатие любой клавиши возвращает экран mc.
FreeBSD 9.3
core при редактировании любого файла.
А насколько реально упросить разработчиков выкинуть вот эту проверку на диапазон
символов 127-255 ?
Для современного xterm оно уже лет минимум десять не актуально.
--- a/lib/util.c 2014-09-04 11:39:18.000000000 +0400
+++ b/lib/util.c 2015-02-10 20:50:53.000000000 +0300
@@ -98,10 +98,11 @@
is_8bit_printable (unsigned char c)
{
/* "Full 8 bits output" doesn't work on xterm */
- if (mc_global.tty.xterm_flag)
+/* if (mc_global.tty.xterm_flag)
return is_iso_printable (c);
- return (c > 31 && c != 127 && c != 155);
+ return (c > 31 && c != 127 && c != 155);*/
+ return (c > 31);
}
Предложите им. Но IMHO проверка c!=127 нужна: 127 это delete, про 155 не помню.