Skip to content
Ilia Maslakov edited this page Jul 24, 2026 · 12 revisions

Midnight Commander 6.0.1

English version

Версия 6.0.1 основана на GNU Midnight Commander 4.8.33.

Основное изменение релиза — новый фреймворк панельных плагинов. Теперь содержимое панели может предоставляться динамически загружаемым плагином, а не только локальной файловой системой или встроенными VFS-модулями.

Вместе с новой архитектурой добавлены плагины для архивов, Git, Docker, Kubernetes, MongoDB, S3, FTP, SFTP, Samba и другие. Также значительно расширены возможности редактора и просмотрщика файлов, появился встроенный терминал.

Общий вид MC с двумя панелями и открытым встроенным терминалом

Панельные плагины

Плагинная панель работает аналогично обычной файловой панели: поддерживает навигацию, просмотр файлов и стандартные операции через F4, F5 и F6.

Плагины могут добавлять:

  • собственные источники данных;
  • пункты в меню панелей и меню выбора диска;
  • настройки и справку;
  • загрузку и сохранение файлов;
  • историю переходов внутри плагина.

Пользовательские плагины загружаются из ~/.local/lib/mc/panel-plugins.

Меню панельных плагинов

Работа с архивами

Плагин arcmc позволяет открывать архивы непосредственно в панели.

Поддерживаются:

  • просмотр архивов и вложенных архивов;
  • добавление и удаление файлов;
  • создание ZIP, 7z, TAR и CPIO;
  • настройка сжатия;
  • пароли и шифрование для поддерживаемых форматов;
  • массовая распаковка;
  • отображение прогресса, скорости и оставшегося времени;
  • отмена длительных операций.

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

Создание архива из отмеченных файлов

Структурированный просмотр данных

В mcview появился режим дерева для:

  • JSON;
  • YAML;
  • XML;
  • HTML.

Он доступен как в полноэкранном просмотрщике, так и в Quick View.

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

Опция mcview_structured_auto позволяет автоматически открывать поддерживаемые файлы в структурированном режиме.

JSON в режиме дерева

Просмотр и фильтрация логов

Viewer теперь может работать с командами, которые не завершают вывод, например:

docker logs -f
journalctl -f

Данные читаются без блокировки интерфейса и обновляются по мере поступления.

Для фильтра доступны:

  • обычный поиск;
  • регулярные выражения;
  • учёт регистра;
  • поиск целых слов;
  • выбор кодировки;
  • предварительная проверка выражения.

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

Живой фильтр по файлу лога

Настройка и форматирование журналов

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

Полученные данные также можно передать внешней команде для преобразования или форматирования. Эта возможность доступна как для журналов Docker в диалоге Container logs source, так и для журналов Kubernetes в диалоге Pod logs source.

Без дополнительной обработки структурированные журналы, например записи Serilog в формате JSON, могут быть неудобны для чтения:

Сырой поток лога

В диалоге источника можно настроить параметры получения журнала и указать команду обработки в поле Pipe through:

Диалог источника лога

После обработки данные отображаются в более удобном для чтения виде:

Отформатированный поток

ANSI и терминальные записи

mcview получил поддержку ANSI-цветов и режим воспроизведения терминала.

Поддерживаются стандартные и яркие цвета, палитра 256 цветов, True Color, жирный и подчёркнутый текст, курсив и инверсия цветов.

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

Режимы None, SGR и Term переключаются через F9. Отображение ANSI-цветов можно включать и отключать через Shift+F9.

Запись htop, воспроизведённая в просмотрщике

Встроенный терминал

Компонент mcterm добавляет интерактивную командную оболочку непосредственно в файловый менеджер.

Терминал переключается через Ctrl+O, запускается в каталоге активной панели и синхронизирует с ней текущий путь через OSC 7.

Поддерживаются:

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

Эмуляция терминала выполняется собственным движком просмотрщика, без внешней библиотеки.

Изменения в редакторе

Плагины редактора

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

Плагины включаются и отключаются для каждого пользователя в диалоге Manage Plugins, из него же открываются настройки выбранного плагина.

В комплект входят три плагина:

  • проверка орфографии;
  • поддержка etags;
  • навигатор ctags.

Проверка орфографии и поддержка etags вынесены из ядра редактора в плагины. Навигатор ctags добавлен впервые: переход к определениям и объявлениям, поиск символов и файлов, поиск ссылок, просмотр членов, дополнение символов и история переходов. Индексы ведутся для каждого репозитория и пересобираются из плагина.

Пользовательские плагины загружаются из ~/.local/lib/mc/editor-plugins.

Сворачивание кода

mcedit умеет сворачивать многострочные блоки по скобкам {}, [] и ().

Сворачивание доступно:

  • через индикатор на поле редактора;
  • через меню Command;
  • через Alt+Shift+F.

Команда использует выделенную область либо определяет ближайший внешний блок относительно курсора.

Скриншот: исходный код с несколькими свёрнутыми методами.

История отмены

Комбинация Alt+Shift+U открывает список операций undo и redo.

Для каждой группы отображаются строка, тип операции, количество символов и фрагмент изменённого содержимого. Из списка можно перейти к любой доступной точке истории.

Проводник макросов

Комбинация Alt+Shift+M открывает список записанных макросов.

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

Сохранение через sudo

Если файл нельзя сохранить из-за недостатка прав, редактор предлагает повторить операцию через sudo -S tee.

Неудачная попытка не закрывает редактор и не приводит к потере текущего буфера.

Производительность длинных строк

Добавлено кэширование расположения символов внутри длинных строк. Это уменьшает задержки при навигации, выделении и перерисовке логов, CSV-файлов и минифицированных данных.

Основные плагины

Git

Git-плагин отображает коммиты, ветки и изменённые файлы. Для сравнения используется встроенный просмотрщик различий.

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

Git-панель с диффом файла

Docker

Docker-плагин предоставляет доступ к:

  • контейнерам;
  • файлам контейнеров;
  • образам;
  • volumes;
  • networks;
  • mounts;
  • выполнению команд;
  • логам.

Поддерживаются локальные и SSH-профили. Для логов можно настроить количество строк, временной диапазон, предыдущий запуск и режим непрерывного чтения.

В комплект входит скрипт форматирования логов .NET и Serilog.

Настройка логов контейнера в просмотрщике

Kubernetes

Kubernetes-плагин работает через kubectl и позволяет просматривать pods, nodes, services и workloads.

Также доступны contexts, namespaces, describe, YAML, exec, удаление ресурсов и просмотр логов.

MongoDB

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

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

S3

S3-плагин поддерживает загрузку, выгрузку и удаление объектов, создание buckets, просмотр метаданных и потоковое открытие объектов во Viewer.

Можно использовать совместимые хранилища, включая MinIO, Ceph и Cloudflare R2.

FTP, SFTP и Samba

FTP-плагин поддерживает FTP и FTPS, active/passive mode, прокси, keepalive и настройку версии IP.

SFTP-плагин поддерживает парольную и ключевую аутентификацию, сжатие, отображение прогресса и потоковое открытие файлов.

Samba-плагин предоставляет доступ к SMB-серверам и общим ресурсам.

Настройка панелей и клавиш

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

Добавлены три отдельных диалога.

Key Bindings изменяет привязки клавиш и находит конфликты между ними; привязки разбиты по областям на вкладки.

Диалог Key Bindings

Learn Keys распознаёт модификаторы, поэтому Ctrl, Alt и Shift запоминаются вместе с основной клавишей.

Learn keys с флажками модификаторов

Key Sniffer показывает escape-последовательность, которую терминал отправляет для клавиши, вместе с сочетанием, назначенным действием и кодом клавиши.

Диалог Key Sniffer

Терминальные настройки сохраняются в:

~/.config/mc/term/<TERM>

Дополнительные изменения

В релиз также вошли:

  • Markdown-рендеринг в Viewer;
  • прямоугольное колонное выделение в редакторе;
  • внутренняя реализация Diff Viewer вместо отдельного процесса mcdiff;
  • фильтрация истории по мере ввода;
  • копирование и вставка между строками ввода и редактором;
  • использование Procyon для декомпиляции Java-классов;
  • ускорение горизонтальной прокрутки очень длинных строк;
  • исправление просмотра DOCX, PPTX и XLSX;
  • сохранение расширений временных файлов, созданных плагинами;
  • исправления навигации и восстановления формата панелей.

Итог

Версия 6.0.1 в основном посвящена четырём направлениям:

  1. Переходу к расширяемым панельным плагинам.
  2. Развитию Viewer для структурированных данных, логов и терминальных записей.
  3. Улучшению редактора.
  4. Добавлению встроенной командной оболочки.

Clone this wiki locally