Перейти к содержанию

Глава 4: Универсальный просмотрщик (Universal Lister) (Universal Lister) (Universal Lister) и редакторы

При традиционном двухпанельном управлении файлами скорость сильно зависит от скорости проверки. Запуск тяжелых интегрированных сред разработки (IDE) или раздутых настольных приложений только для проверки контрольной суммы, проверки строки конфигурации, обрезки снимка экрана или проверки PDF-файла создает когнитивные трудности и беспорядок в окнах.

ATBCmder решает эту проблему, предоставляя унифицированную многосистемную подсистему просмотра и редактирования, встроенную непосредственно в ядро ​​приложения. Если вам нужен встроенный предварительный просмотр в реальном времени при перемещении по папкам, глубокий байтовый анализ в шестнадцатеричном режиме, аудиоплеер, который продолжает играть в фоновом режиме, пока вы упорядочиваете файлы, или атомарный редактор кода с учетом синтаксиса, ATBCmder дает вам мгновенное управление с помощью клавиатуры.


1. Визуальный быстрый старт: немедленная проверка и редактирование файлов

ATBCmder делит проверку и модификацию файлов на две отдельные парадигмы:

  1. Быстрый просмотр противоположной панели (Cmd+Q / Ctrl+Q): встраивает живой предварительный просмотр без дребезга непосредственно внутри неактивной панели без создания отдельных окон.
  2. Специальный универсальный листинг (F3) и внутренний редактор (F4): открывает независимые немодальные окна, поддерживающие специализированные механизмы форматирования, полнотекстовый поиск, воспроизведение мультимедиа и подсветку синтаксиса.
┌────────────────────────────────────────────────────────────────────────────────────────┐
│  АКТИВНАЯ ПАНЕЛЬ (Просмотр файлов)                  НЕАКТИВНАЯ ПАНЕЛЬ (Quick View)     │
│  /Users/brain/Projects/atbcmder/src                 [Быстрый просмотр: main.py]        │
├──────────────────────────────────────────────┬───┬─────────────────────────────────────┤
│  Имя                          Размер Дата    │   │ 0001: """                           │
│  ▸ [..]                              --:--   │ Q │ 0002: Главная точка входа           │
│  ✔ main.py                    8.4 KB 15:10   │ U │ 0003: """                           │
│  ● config.xml                12.1 KB 14:20   │ I │ 0004: import sys                    │
│  ● hero_banner.png          248.5 KB 09:12   │ C │ 0005: from PySide6.QtWidgets import │
│  ● sample_invoice.pdf       512.0 KB 11:30   │ K │ 0006:     QApplication              │
│  ● release_theme.mp3          4.2 MB 16:45   │   │                                     │
│  ● firmware_dump.bin          1.0 MB 10:00   │ V │ [UTF-8] [Python] [LF] [Строка 1/140]│
├──────────────────────────────────────────────┴───┴─────────────────────────────────────┤
│   [Cmd+Q / Ctrl+Q] Быстрый просмотр     [F3] Lister просмотр     [F4] Встроенный редакт│
└────────────────────────────────────────────────────────────────────────────────────────┘

Шпаргалка по проверке и редактированию двойной матрицы

Действие Сочетание клавиш macOS Классическая клавиша Commander Идентификатор команды Описание
Переключить быстрый просмотр Cmd+Q / ⌘Q Ctrl+Q cm_QuickView Открывает предварительный просмотр в реальном времени на противоположной панели.
Универсальный список F3 / Fn+F3 F3 cm_View Открывает выбранный элемент в Universal Lister.
Внутренний редактор F4 / Fn+F4 F4 cm_Edit Открывает редактор кода для текста или редактор изображений для графики.
Создание и редактирование нового файла Shift+F4 / ⇧F4 Shift+F4 cm_EditNew Запрашивает имя и открывает редактор.
Переключение фокуса панели Tab / ⇥ Tab cm_SwitchPanel Переключает фокус; симметрично переворачивает быстрый просмотр.
Режим шестнадцатеричного просмотра 2 2 — (Листер) Включает шестнадцатеричную проверку на уровне байтов в Lister.
Режим просмотра текста 1 1 — (Листер) Возвращает Lister в форматированный текстовый режим.
Переключатель переноса слов Alt+W / ⌥W Alt+W — (Листер/Редактор) Включает мягкий перенос строк в Lister и Editor.
Переключение номеров строк Alt+L / ⌥L Alt+L — Переключает номера линий левого желоба.
Режим Live Log Tail F5 / Fn+F5 F5 — Потоковая передача вновь добавленных записей журнала в режиме реального времени.
Фоновый звук Background Кнопка — — Закрепляет воспроизведение звука в строке состояния панели.
Настроить ассоциации Меню конфигурации — cm_FileAssoc Настраивает расширения файлов и вспомогательные инструменты.

2. Панель быстрого просмотра (Cmd+Q / Ctrl+Q / cm_QuickView)

Панель быстрого просмотра — один из самых мощных рабочих процессов в традиционных файловых менеджерах. Вместо того, чтобы открывать и закрывать плавающие окна при просмотре папки, содержащей сотни элементов, «Быстрый просмотр» преобразует неактивную панель во встроенную контекстную область просмотра.

Quick View Panel Рис. 4.1. Быстрый просмотр, встроенный в противоположную панель, отображающий живой код с выделенным синтаксисом наряду с навигацией по каталогам.

2.1 Преимущество двухпанельного предварительного просмотра

Чтобы активировать быстрый просмотр:

  1. Перейдите к любому файлу или каталогу на активной панели.
  2. Нажмите Cmd+Q (⌘Q) в macOS или Ctrl+Q (cm_QuickView).
  3. Противоположная панель мгновенно переключается с обычного списка каталогов на Контейнер быстрого просмотра (QuickViewContainer), отображая содержимое элемента под курсором.
  4. Повторное нажатие Cmd+Q или Ctrl+Q закрывает предварительный просмотр и восстанавливает предыдущий список вкладок и папок противоположной панели, не теряя при этом своего места.

2.2 Обновление в реальном времени с устранением дребезга 100 мс

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

ATBCmder решает эту проблему с помощью внутреннего 100-миллисекундного однократного таймера устранения дребезга (_quick_view_timer):

  • При быстрой навигации по строкам активный путь к файлу сохраняется в памяти.
  • Тяжелая загрузка файлов, анализ синтаксиса и рендеринг миниатюр запускаются только тогда, когда курсор задерживается на элементе не менее 100 мс.
  • Прокрутка остается идеально плавной со скоростью более 60 кадров в секунду даже при просмотре многогигабайтных медиа-каталогов или необработанных дампов диска.

2.3 Переключение симметричного фокуса на Tab

Распространенная проблема в менеджерах с двумя панелями — потеря предварительного просмотра при переключении панелей. В ATBCmder функция быстрого просмотра поддерживает симметричное переключение фокуса:

  • Если на правой панели активен быстрый просмотр и вы нажимаете Tab, чтобы переключить активный фокус на правую панель:
  • Правая панель немедленно восстанавливает свою обычную таблицу файлов, чтобы вы могли взаимодействовать с файлами.
  • Быстрый просмотр автоматически и плавно переключается на левую панель, отображая предварительный просмотр любого файла, выделенного на правой панели.
  • Это обеспечивает непрерывный цикл навигации и проверки независимо от того, на какой панели вы работаете.

2.4 Интеллектуальная маршрутизация контента

Контейнер быстрого просмотра динамически определяет расширения файлов, подписи MIME и необработанные байтовые заголовки, чтобы выбрать оптимальный механизм предварительного просмотра:

Тип контента Расширения/подписи Встроенный механизм предварительного просмотра
Исходный код и текст .py, .rs, .cpp, .c, .h, .js, .ts, .html, .css, .json, .xml, .yaml, .md, эвристика открытого текста TextPanel с подсветкой синтаксиса Pygments и номерами строк.
Растровые и векторные изображения .png, .jpg, .jpeg, .webp, .svg, .bmp, .gif, .ico, .tiff ImagePanel с плавным понижением разрешения и сохранением соотношения сторон.
Документы в формате PDF .pdf PdfPanel со встроенным рендерингом страницы PySide6.QtPdf (по ширине).
Аудио и видео .mp3, .wav, .flac, .aac, .m4a, .ogg, .mp4, .mkv, .mov, .avi, .webm MediaPanel с отключенным звуком предварительного просмотра и управления воспроизведением.
Табличные данные .csv, .tsv, .xlsx, .xls, .ods SpreadsheetPanel с сеткой таблицы, доступной только для чтения, и автоматическим размером столбцов.
Документы и электронные книги .docx, .odt, .rtf, .epub DocumentPanel / EpubPanel средство рендеринга документов с форматированным текстом.
Файлы базы данных .sqlite, .sqlite3, .db SqlitePanel с браузером схем и средством просмотра табличных данных.
Архивы .zip, .tar, .gz, .bz2, .xz, .7z ArchiveInspectorPanel отображает несжатые иерархии элементов.

2.5 Резервный вариант свойства метаданных (QuickViewPropertiesWidget)

Когда вы выделяете каталог или формат файла, который не может быть отображен как текст или медиафайл, ATBCmder автоматически переключается в Резервный вид свойств (QuickViewPropertiesWidget):

┌────────────────────────────────────────────────────────┐
│  📁 release_builds                                     │
│  /Volumes/ExternalSSD/Projects/release_builds          │
├────────────────────────────────────────────────────────┤
│  Metadata                                              │
│    Full Path:      /Volumes/ExternalSSD/...            │
│    Size:           Directory (or 148,290,112 bytes)    │
│    Last Modified:  2026-09-06 14:10:22                 │
│    Last Accessed:  2026-09-06 15:02:18                 │
├────────────────────────────────────────────────────────┤
│  Permissions (UNIX)                                    │
│    Octal Mode: 0755                                    │
│    Owner:  [✔] Read  [✔] Write  [✔] Execute            │
│    Group:  [✔] Read  [ ] Write  [✔] Execute            │
│    Others: [✔] Read  [ ] Write  [✔] Execute            │
├────────────────────────────────────────────────────────┤
│  Checksums / Stats                                     │
│    Contents: 42 files, 8 folders                       │
│    MD5:      Calculating... ➔ 8f14e45fceea167a...      │
│    SHA256:   Calculating... ➔ 3a491d90bc1f4201...      │
└────────────────────────────────────────────────────────┘
  • Карточка заголовка: отображает системный значок высокого разрешения, имя файла и родительский путь.
  • Метаданные файла: показывает точный размер в байтах, удобочитаемый размер (KB, MB, GB, TB), метку времени модификации (mtime) и метку времени доступа. (atime).
  • Матрица разрешений UNIX: отображает 4-значный восьмеричный режим разрешений (например, 0755, 0644) вместе с матрицей флажков 3x3, доступной только для чтения, для владельца, группы и других (rwx).
  • Асинхронные фоновые хэши: для файлов асинхронный фоновый поток (HashWorker) вычисляет криптографические хэши MD5 и SHA-256, не блокируя интерфейс. Что касается каталогов, он сканирует и сообщает общее количество вложенных файлов и подпапок.

3. Универсальный список (F3 / Fn+F3 / cm_View)

Хотя быстрый просмотр оптимизирован для быстрого предварительного просмотра в двухпанельном окне, Universal Lister (F3 / Fn+F3 / cm_View) открывает специальное немодальное окно верхнего уровня (UniversalViewerDialog). Несколько окон Universal Lister могут быть открыты одновременно, что позволяет параллельно сравнивать документы или вести потоковую передачу журналов на дополнительных дисплеях.

Верхняя панель инструментов быстрого действия

Lister имеет встроенную панель быстрых действий, обеспечивающую быстрый доступ к режимам просмотра, навигации и настройкам отображения:

[Text (1)] [Hex (2)] [Wrap (Alt+W)] [Line Numbers (Alt+L)] [Tail (F5)] | [◀ Prev (P)] [Next ▶ (N)] | [🔍 Search (Ctrl+F)] [Go to Line (Ctrl+G)] | [Open in System (Ctrl+O)] [Fullscreen (F11)]
  • Текстовый режим (1) / Шестнадцатеричный режим (2): мгновенное переключение между отображением декодированных символов и проверкой необработанных байтов.
  • Перенос по словам (Alt+W / ⌥W): включает мягкий перенос слов для длинных строк.
  • Номера строк (Alt+L / ⌥L): переключение поля нумерации строк.
  • Хвостовой режим (F5): автоматически прокручивает и записывает вновь записанные данные журнала в режиме реального времени.
  • Предыдущий файл (P) / Следующий файл (N): переход к соседнему файлу в таблице файлов родительской папки без закрытия окна просмотра.
  • Найти (Ctrl+F / Cmd+F): открывает закрепленную нижнюю панель поиска.
  • Перейти к строке (Ctrl+G / Cmd+G): запрашивает номер строки для перехода непосредственно к целевому коду.
  • Открыть в системе (Ctrl+O / Cmd+O): передает файл в системное приложение macOS по умолчанию (например, Preview, Safari или Xcode).
  • Полноэкранный режим (F11 / Alt+Enter): разворачивает окно Lister до полного заполнения.

3.1 Домен 1: Документы и структурированные книги

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

3.1.1 Документы Word и форматированный текст (DocumentPanel)

При нажатии F3 в файлах Microsoft Word (.docx, .doc), Rich Text (.rtf) или OpenDocument (.odt) ATBCmder задействует DocumentPanel:

  • Карточки страниц документов: отображает структурированные страницы на центрированных бумажных карточках (.doc-page) с четкой типографикой и полями, соответствующими макетам современных текстовых процессоров.
  • Сохранение форматирования: сохраняется иерархия абзацев, стили жирного/курсива/подчеркивания, варианты цвета шрифта, неупорядоченные и нумерованные списки, а также встроенные гиперссылки.
  • Рендеринг сложных таблиц и встроенных изображений: анализирует сложные сетки таблиц с несколькими столбцами и интервалами между ячейками в границах и визуализирует встроенные встроенные растровые иллюстрации.
  • Масштабирование и поиск страницы: детальные элементы управления масштабированием страницы (Ctrl++ / Ctrl+- или поле масштабирования) и встроенная панель поиска в документе (ViewerSearchBar).

3.1.2 Слайды презентации (PresentationPanel)

Для презентаций Microsoft PowerPoint (.pptx, .ppt) ATBCmder запускает PresentationPanel:

  • Считывание карточек: каждый слайд извлекается и форматируется как отдельная затененная карточка презентации (.slide-card), что позволяет просматривать контент последовательно.
  • Полоска выбора слайдов: в панели визуальной навигации перечислены все слайды с индексами миниатюр, что позволяет мгновенно перейти к любому слайду в колоде из 100 слайдов.
  • Поиск по слайдам: нажмите Cmd+F для поиска по заголовкам слайдов, маркерам, заметкам докладчика и текстовым блокам выносок по всей палубе.

3.1.3 Средство просмотра PDF-документов (PdfPanel)

ATBCmder, основанный на PySide6.QtPdf и QPdfView, включает в себя программу чтения PDF корпоративного уровня:

PDF Viewer Рис. 4.2. Встроенная программа просмотра PDF-файлов с контуром закладок, полосой миниатюр страниц, поиском в документе и темами чтения.

  • Непрерывная многостраничная прокрутка: плавно прокручивайте сотни страниц в многостраничном режиме (QPdfView.PageMode.MultiPage) или переключайтесь на одностраничный или двухстраничный режим книжного разворота.
  • Боковая панель документа:
  • Структура/Дерево закладок: щелкните заголовок любой главы или раздела в оглавлении PDF (QPdfBookmarkModel), чтобы перейти непосредственно к этому разделу.
  • Полоса миниатюр страниц: визуально сканируйте макет и графические элементы с помощью вертикального списка миниатюр (PdfThumbnailList).
  • Поиск и выделение в документе: нажмите Cmd+F для поиска текста по документу. Совпадения выделяются на экране с индексацией в реальном времени (Match 3 of 28). Переход между вхождениями осуществляется с помощью Enter или Shift+Enter.
  • Темы для чтения:
  • Нормальный: Стандартный рендеринг документа на бумаге.
  • Инвертированный ночной режим: инвертирует яркость пикселей RGB (InvertColorEffect) для комфортного чтения в темноте без напряжения глаз.
  • Теплость сепии: мягкий теплый тон, уменьшающий излучение синего света во время расширенного просмотра документа.
  • Безопасность и шифрование: плавно запрашивает пароли для зашифрованных PDF-файлов через PdfPasswordDialog и проверяет метаданные создателя/производителя через PdfPropertiesDialog.

3.1.4 Электронные книги EPUB (EpubPanel)

Управление технической документацией, руководствами или цифровыми книгами в формате EPUB (.epub) встроено в ATBCmder:

  • Двухъядерная архитектура: используется высокоточный механизм рендеринга WebEngine (QWebEngineView с EpubUrlSchemeHandler для богатого стиля CSS и векторных иллюстраций SVG) с автоматическим возвратом к QTextBrowser в минимальных средах.
  • Боковая панель «Оглавление»: отображает вложенные деревья глав (QTreeView), позволяя одним щелчком мыши переключаться между главами книги и приложениями.
  • Типографика и масштабирование шрифта: динамически масштабируйте размер текста для чтения с помощью ползунка шрифта на нижней панели инструментов.
  • Чтение комфортных тем: мгновенное переключение между цветовой палитрой «Светлая», «Темная» и «Сепия».

3.1.5 Документы с уценкой (MarkdownPanel)

Для файлов README, технических примечаний и документации разработчика (.md, .markdown):

  • Markdown со вкусом GitHub (GFM): отображает заголовки, цитаты, горизонтальные правила, списки задач (- [x]) и таблицы с несколькими столбцами.
  • Стилизация синтаксиса блоков кода: автоматически форматирует изолированные блоки кода (python,bash, ```json) с четкой заливкой фона, моноширинной типографикой и раскраской синтаксиса.

3.2 Домен 2: данные, таблицы и среда выполнения разработчиков

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

3.2.1 Высокопроизводительные электронные таблицы (SpreadsheetPanel)

Открытие больших файлов CSV или многостраничных книг Excel в тяжелых офисных пакетах может занять 10–20 секунд. SpreadsheetPanel ATBCmder визуализирует их мгновенно:

Excel Spreadsheet and Data Preview Высокопроизводительный предварительный просмотр таблиц Excel в Universal Lister с вкладками на нескольких листах и замороженными координатами

  • Поддержка форматов: Microsoft Excel (.xlsx, .xls), значения, разделенные запятыми (.csv), и значения, разделенные табуляцией (.tsv).
  • Вкладки с несколькими листами. Книги с несколькими листами имеют нижнюю панель вкладок (QTabBar), позволяющую быстро переключаться между листами данных.
  • Модель виртуальной таблицы (VirtualSpreadsheetModel): используется отложенная инкрементная загрузка строк через canFetchMore и fetchMore. Вы можете плавно прокручивать CSV-файлы или листы с сотнями тысяч строк с минимальным использованием памяти.
  • Закрепленные заголовки столбцов и строк: стандартные координаты электронной таблицы (A, B, C... и 1, 2, 3...) остаются закрепленными во время прокрутки для четкой ориентации.
  • Экспорт TSV из буфера обмена: выберите любой диапазон ячеек и нажмите Cmd+C (⌘C), чтобы скопировать данные, отформатированные как чистые значения, разделенные табуляцией, готовые для вставки в код, Slack или терминальные каналы.
  • Быстрый поиск: нажмите Cmd+F для поиска содержимого ячеек по всем столбцам с фокусом на ячейку в реальном времени.

3.2.2 Браузер базы данных SQLite (SqlitePanel)

Проверяйте базы данных SQLite (.sqlite, .sqlite3, .db) напрямую без внешних клиентов с графическим интерфейсом:

  • Каталог таблиц и представлений: на левой боковой панели перечислены все таблицы и представления базы данных вместе с количеством активных строк. Щелчок по любой таблице немедленно загружает ее содержимое.
  • Виртуализированное представление данных: использует высокопроизводительный VirtualSpreadsheetModel для плавной прокрутки огромных таблиц.
  • Интерактивная консоль запросов SQL: введите пользовательские запросы SQL в верхнем редакторе запросов и нажмите Ctrl+Return (или Cmd+Return) для выполнения. Результаты мгновенно отображаются в виде таблицы.
  • Форматирование типов данных: безопасно обрабатывает данные: двоичные объекты форматируются как <BLOB: N B>, а пустые поля отображаются курсивом NULL.
  • Экспорт данных: щелкните правой кнопкой мыши, чтобы скопировать выбранные записи или экспортировать результаты запроса в CSV или TSV.

3.2.3 Блокноты Jupyter (NotebookPanel)

Просмотрите эксперименты по науке о данных, результаты машинного обучения и блокноты для анализа Python (.ipynb):

  • Встроенный рендеринг без сервера: анализирует структуры блокнотов JSON полностью в автономном режиме, не требуя активного серверного демона Jupyter или JupyterLab.
  • Раскладка ячеек на основе карт:
  • Ячейки уценки: преобразованы в чистую типографику с заголовками, жирным текстом и списками.
  • Ячейки кода: отформатированы с выделенным синтаксисом кодом Python, номерами строк и значками выполнения ячеек (например, [1], [14]).
  • Блоки вывода: отображает потоки вывода консоли, отслеживание ошибок, а также встроенные диаграммы и графики в кодировке Base64 (PNG/SVG).

3.2.4 Просмотр кода и обычного текста (TextPanel)

Механизм первичной проверки текста оптимизирован для высокоскоростного просмотра и огромных дампов данных:

  • Чанковый загрузчик размером 64 КБ (FileLoaderWorker): считывает большие файлы блоками по 64 КБ с автоматическим привязкой границ новой строки, предотвращая зависание потока и повреждение многобайтовых символов UTF-8.
  • Подсветка синтаксиса Pygments: поддерживается более 150 языков программирования и настройки с динамической адаптацией светлого/темного режима.
  • Динамический переключатель кодировки: статистическое определение кодировки (chardet) с ручным переключением строки состояния между UTF-8, GB18030, Big5, Shift-JIS, Windows-1252 и ISO-8859-1.
  • Режим Live Tail (F5): включите FileTailWatcher для потокового добавления строк журнала в режиме реального времени, что соответствует UNIX tail -f. Нажмите F5 еще раз, чтобы сделать паузу.

3.2.5 Проверка необработанных шестнадцатеричных байтов (2 / шестнадцатеричный режим)

При проверке двоичных файлов, дампов прошивки, скомпилированных библиотек или поврежденных файлов:

  • 16-байтовая шестнадцатеричная сетка: отображает 8-значные шестнадцатеричные адреса смещения, 16 шестнадцатеричных байтов, разделенных на два визуальных столбца по 8 байтов, и печатный текст ASCII справа (. для управляющих байтов).
  • Автоматическое определение шестнадцатеричного значения: если в пределах первых 1 КБ файла обнаружены нулевые байты (\x00), ATBCmder автоматически переключается в шестнадцатеричный режим, чтобы предотвратить искажения терминала.

3.3 Домен 3: Медиа и системные активы

ATBCmder включает в себя медиаплееры с аппаратным ускорением, средства просмотра графики и инспекторы типографики, встроенные непосредственно в ядро.

3.3.1 Просмотр изображений (ImagePanel)

Нажмите F3 на любом поддерживаемом формате изображения (.png, .jpg, .webp, .svg, .gif, .bmp, .ico, .tiff):

Image Viewer Рис. 4.3. Интегрированное средство просмотра изображений с интерактивным масштабированием холста, вращением и извлечением метаданных EXIF.

  • Интерактивное полотно: плавное масштабирование с помощью колесика мыши с привязкой к положению курсора (SmoothPixmapTransform), проверка пикселей 1:1, функция «Подогнать под размер окна» и панорамирование вручную.
  • Инспектор телеметрии EXIF: при нажатии Информация EXIF извлекаются метаданные камеры: марка, модель, фокусное расстояние объектива, время экспозиции, диафрагма, ISO и координаты GPS.
  • Сцена прозрачности шахматной доски (CheckerboardScene): прозрачные альфа-каналы в изображениях PNG, WebP и SVG визуализируются поверх стандартной серо-белой шахматной сетки.

3.3.2 Аудиоплеер и режим фонового воспроизведения (AudioPlayerDialog)

Слушайте подкасты, звуковые эффекты или музыкальные коллекции во время работы:

Audio Player Рис. 4.4. Встроенный аудиоплеер с анализом тегов ID3, обложками альбомов и управлением списками воспроизведения с помощью перетаскивания.

  • Поддерживаемые форматы: MP3, FLAC, WAV, AAC, M4A, OGG и AIFF с тегом мутагена ID3 и извлечением обложки.
  • Фоновый режим воспроизведения: нажмите кнопку Фоновый в плеере. Окно проигрывателя прикрепляется к компактному контроллеру мини-плеера на панели фоновых операций правой панели (bg_ops_container):
  • Отображает название воспроизводимой в данный момент дорожки и исполнителя.
  • Кнопки интерактивного воспроизведения: «Предыдущий» (⏮), «Воспроизведение/пауза» (▶ / ⏸) и «Следующий» (⏭).
  • Музыка воспроизводится непрерывно, пока вы просматриваете файлы, выполняете пакетное переименование или синхронизируете папки.
  • Нажатие F3 на дополнительных аудиофайлах на панели файлов автоматически добавляет их в текущий список воспроизведения!

Music Player in Panel Рис. 4.5. Фоновый мини-плеер, встроенный непосредственно в панель операций панели.

3.3.3 Видеопроигрыватель с аппаратным ускорением (MediaPanel)

Для видеофайлов (.mp4, .mkv, .mov, .avi, .webm):

Video Player Рис. 4.6. Видеопроигрыватель с аппаратным ускорением и элементами управления плавающим экранным меню.

  • Декодирование с нулевыми издержками: на базе QtMultimedia с использованием macOS VideoToolbox и ускорения графического процессора Apple Silicon.
  • Элементы управления экранным меню с автоматическим затуханием: плавающий ползунок временной шкалы, ползунок громкости и элементы управления воспроизведением исчезают во время воспроизведения.
  • Переключение субтитров и дорожек: переключение между встроенными аудиопотоками и внешними файлами субтитров (.srt, .vtt).
  • Полноэкранный режим: нажмите F11 или дважды щелкните мышью, чтобы перейти в полноэкранный режим; нажмите Esc, чтобы вернуться.

3.3.4 Инспектор типографики шрифтов (FontPanel)

Предварительный просмотр системных и дизайнерских шрифтов (ATB_INL_0000, .otf, .woff, .woff2, .ttc):

  • Предварительный просмотр размера водопада: отображает текст предварительного просмотра в стандартных размерах дизайна: 12, 16, 20, 24, 32, 48 и 64 пт.
  • Пользовательская тестовая строка: вводите пользовательские строки для проверки кернинга и пунктуации определенных символов.
  • Двуязычные панграммы: предварительный просмотр по умолчанию отображает полные двуязычные панграммы: "Быстрая коричневая лиса прыгает через ленивую собаку 1234567890 敏捷的棕狐跃过懒狗".

3.4 Домен 4: Системные архивы и коммуникации

3.4.1 Инспектор архива In-Lister (ArchivePanel)

При нажатии ATB_INL_0000 архивы открываются непосредственно на панели файлов через Archive VFS, при нажатии F3 на архиве (.zip, .tar, .7z, .tar.gz, .tar.bz2, .tar.xz) открывает Инспектор архива:

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

3.4.2 Просмотр архива электронной почты (EmailPanel)

Для сохраненных сообщений электронной почты и архивов сообщений (.eml, .msg):

  • Декодирование заголовка MIME RFC 2047: точно декодирует международные имена отправителей, даты, получателей копий и темы электронных писем.
  • Визуальная карточка заголовка: форматирует заголовки электронной почты в чистую карточку метаданных.
  • Переключение расширенного текста: переключение между текстом электронного письма в формате HTML и необработанным текстом.
  • Извлечение вложений: список всех встроенных вложений с указанием размеров файлов и кнопка "Сохранить вложение как..." для извлечения файлов непосредственно на диск.

4. Внутренние редакторы: двухрежимная архитектура (F4 / Fn+F4 / cm_Edit)

ATBCmder оснащен интеллектуальным двухрежимным диспетчерским механизмом редактора:

  • Когда курсор находится на тексте, коде или файлах конфигурации: нажатие F4 открывает Редактор внутреннего кода (EditorWindow).
  • Когда курсор находится на файлах изображений (.png, .jpg, .webp, .bmp, .svg): нажатие F4 автоматически запускает Специальный редактор изображений (ImageEditorDialog)!

Чтобы создать и отредактировать новый файл с нуля в активной папке, нажмите Shift+F4 (cm_EditNew). ATBCmder запрашивает имя файла (например, deploy.sh или docker-compose.yml), инициализирует файл и немедленно открывает его в редакторе.


4.1 Редактор внутреннего кода (EditorWindow)

┌────────────────────────────────────────────────────────────────────────────────────────┐
│  Edit: /Users/brain/Projects/atbcmder/scripts/deploy.sh [*]                            │
├────────────────────────────────────────────────────────────────────────────────────────┤
│  [💾 Save] [Save As] | [↶ Undo] [↷ Redo] | [🔍 Find] [Replace] | [Wrap] [Lines] [Zoom]   │
├──────┬─────────────────────────────────────────────────────────────────────────────────┤
│ 0001 │ #!/usr/bin/env bash                                                             │
│ 0002 │ set -euo pipefail                                                               │
│ 0003 │                                                                                 │
│ 0004 │ echo "Deploying ATBCmder release bundle..."                                     │
│ 0005 │ TARGET_DIR="/opt/atbcmder"                                                      │
│ 0006 │ if [ ! -d "$TARGET_DIR" ]; then                                                 │
│ 0007 │     mkdir -p "$TARGET_DIR"                                                      │
│ 0008 │ fi                                                                              │
├──────┴─────────────────────────────────────────────────────────────────────────────────┤
│  Find: [deploy                  ]  Replace: [release                  ] [Match 1 of 3] │
│  [Aa] Match Case   [\b] Whole Word   [.*] RegEx   [Find Next] [Replace] [Replace All]  │
├────────────────────────────────────────────────────────────────────────────────────────┤
│  Line 5, Col 12 | 8 lines | UTF-8 | LF (UNIX) | Bash Shell | [Modified *]              │
└────────────────────────────────────────────────────────────────────────────────────────┘

Возможности основного редактора кода

  • Подсветка синтаксиса Pygments: распознает более 150 форматов программирования, сценариев и конфигурации с автоматическим определением языка по расширениям файлов и строкам Shebang.
  • Динамический номер строки: левое поле динамически расширяется, чтобы разместить номера строк с визуальным выравниванием.
  • Интеллектуальный автоматический отступ и блочный отступ: нажатие Enter переносит пробелы вперед; выберите блоки и нажмите Tab, чтобы сделать отступ, или Shift+Tab, чтобы отменить отступ.
  • Мягкий перенос слов (Alt+W / ⌥W): переносит длинные строки на границах окна без вставки жестких разрывов новой строки.
  • Элементы масштабирования: легко масштабируйте типографику с помощью Cmd++ (⌘+), Cmd+- (⌘-) или сбрасывайте настройки с помощью Cmd+0 (⌘0).

Интерактивная панель поиска и замены (EditorReplaceBar)

Нажатие Cmd+F (⌘F) или Cmd+Option+F (⌥⌘F) закрепляет панель поиска и замены внизу:

  • Инкрементный поиск в реальном времени с индексацией вхождений (Match 4 of 19).
  • Флаги поиска: с учетом регистра ([Aa]), целого слова ([\b]) и регулярных выражений Python ([.*]).
  • Пакетные действия: Заменить (текущее вхождение) и Заменить все (весь документ).

Строка состояния и защита атомарного сохранения

  • Телеметрия: отображает строку, столбец, общее количество строк, кодировку и соглашение о переводе строки (LF вместо CRLF).
  • Значок «грязного состояния»: заметный индикатор * появляется в строке заголовка и строке состояния всякий раз, когда существуют несохраненные изменения.
  • Защита от атомарного сохранения: при нажатии Cmd+S ATBCmder записывает данные во временный файл на том же томе, синхронизирует дисковые буферы и выполняет атомарную замену, гарантируя, что исходный файл никогда не будет поврежден, если в середине сохранения произойдет сбой или отключение питания.

4.2 Специальный редактор изображений (ImageEditorDialog)

Когда вы нажимаете F4 на любом изображении или снимке экрана, ATBCmder открывает комплексный Редактор изображений:

Интерактивный холст и преобразования

  • Фон шахматной доски (CheckerboardScene): прозрачная графика отображается на чистой серо-белой сетке, что обеспечивает четкость видимых альфа-границ.
  • Вращение и переворот: поворот на 90° по часовой стрелке или против часовой стрелки, точная настройка произвольных углов выравнивания или зеркальное отображение по горизонтали и вертикали.
  • Масштабирование и панорамирование: плавное масштабирование с помощью отслеживания курсора и навигации вручную.

Обрезка с использованием предустановок соотношения сторон

  • Перетащите маркеры холста, чтобы определить границы обрезки.
  • Переключайтесь между соотношениями сторон Свободная форма, Квадрат 1:1 (аватары/значки приложений), **Классический 4:3 и Кинотеатр 16:9. Нажмите Enter, чтобы подать заявку.

Векторные аннотации

  • Прямоугольники и круги: выделите элементы интерфейса с помощью настраиваемой ширины границ и цветов палитры.
  • Стрелки направления: рисование острых векторных стрелок-выносок.
  • Свободное перо: делайте наброски исправлений или подписей от руки прямо на холсте.
  • Текстовые штампы: добавляйте типографику с помощью настраиваемых шрифтов, размеров, цветов и тонких теней.

Редактирование конфиденциальности (мозаика/размытие)

Хотите поделиться снимком экрана, содержащим конфиденциальные токены, имена клиентов или номера телефонов?

  • Выберите инструмент Мозаика/Размытие.
  • Перетащите рамку выбора на конфиденциальную информацию.
  • ATBCmder применяет пикселизацию с переменным радиусом или размытие по Гауссу, надежно редактируя конфиденциальные данные перед экспортом.

Модуль водяных знаков

Примените профессиональный брендинг собственности, используя 4 предустановленных места размещения:

  • Плитка (tiled): угловой повторяющийся рисунок водяного знака, покрывающий весь холст (идеально подходит для конфиденциальных черновиков).
  • Штамп (stamp): особый штамп аутентификации, расположенный в правом нижнем углу.
  • Баннер (banner): горизонтальный полупрозрачный фирменный баннер, пересекающий холст.
  • Один логотип (single): свободно позиционируемый одиночный логотип или текстовый водяной знак с ползунком непрозрачности.

4.3 Беспрепятственное двустороннее редактирование VFS (удаленное и архивное)

Самый мощный аспект подсистемы редактора ATBCmder — это Универсальная интеграция VFS:

  • Независимо от того, нажимаете ли вы F4 в сценарии оболочки, хранящемся на удаленном SFTP-сервере, в файле конфигурации внутри монтирования AWS Nextcloud WebDAV или в снимке экрана во вложенном архиве .zip (vfs://):
  • ATBCmder асинхронно загружает файл в безопасную временную песочницу.
  • Файл открывается либо в EditorWindow, либо в ImageEditorDialog.
  • Когда вы нажимаете Cmd+S, ATBCmder перехватывает событие сохранения, синхронизирует измененный файл и автоматически передает обновленные данные обратно через SFTP/SMB или задействует RepackWorker для переупаковки архива!
  • При закрытии редактора файлы временного кэша полностью очищаются. Вам никогда не придется вручную распаковывать, редактировать и повторно загружать файлы.

5. ⚡ Советы профессионалов и подробное описание

Освойте эти расширенные функции, чтобы максимально повысить эффективность проверки и редактирования.

Совет для профессионалов 1: прием динамической аудио очереди с помощью F3

Если во время просмотра музыкальной коллекции аудиоплеер работает в Режиме фонового воспроизведения, вам не нужно повторно открывать диалоговое окно, чтобы поставить в очередь больше музыки:

  1. Выделите один или несколько аудиофайлов на любой панели файлов.
  2. Нажмите F3 (или Fn+F3).
  3. ATBCmder обнаруживает, что экземпляр аудиоплеера уже активен, и автоматически добавляет выбранные треки в текущий список воспроизведения (append_tracks), не прерывая воспроизводимый в данный момент трек.

Совет для профессионалов 2. Пользовательские ассоциации файлов (cm_FileAssoc)

По умолчанию нажатие F3 открывает универсальный список, а F4 открывает внутренний редактор кода. Однако вы можете сопоставить определенные расширения файлов с внешними настольными приложениями или пользовательскими командами оболочки с помощью Диспетчера ассоциаций файлов (cm_FileAssoc):

Перейдите в Конфигурация ➔ Конфигурация ассоциаций файлов:

– Вы можете сопоставить расширения (например, *.rs, *.py, *.psd) с настраиваемыми действиями.

  • Внутренние команды: привязка к действиям внутреннего командира (например, cm_View, cm_Edit).
  • Внешние команды оболочки с заменой токенов:
  • %f ➔ Заменяется абсолютным путем к файлу (например, /Users/brain/main.rs).
  • %d ➔ Заменяется путем к родительскому каталогу (например, /Users/brain).
  • %n ➔ Заменяется именем файла без расширения (например, main).
  • %e ➔ Заменяется расширением файла без точки (например, rs).

Пример внешней ассоциации для файлов Rust:

code --goto %f

Совет для профессионалов 3. Режим Live Tail (F5) для журналов DevOps

При отладке демонов локального сервера, контейнеров Docker или сценариев сборки откройте файл журнала в Universal Lister (F3) и нажмите F5:

  • Задействует демон FileTailWatcher.
  • Lister автоматически прокручивает страницу вниз и выводит вновь добавленные строки на экран в режиме реального времени, что соответствует поведению UNIX tail -f.
  • Вы можете оставить активными поисковые фильтры во время отслеживания, чтобы выделять ошибки по мере их возникновения.

Совет для профессионалов 4: потоковая передача с произвольным смещением для файлов размером в несколько гигабайт

Если вам нужно просмотреть дамп базы данных или образ диска размером 20 ГБ, не пытайтесь открыть его в стандартном редакторе. В универсальном списке ATBCmder:

  • Используйте Перейти к строке (Ctrl+G) или перейдите к ползунку.
  • Базовый FileLoaderWorker использует прямой поиск по указателю двоичного файла (fh.seek(offset)), считывая только точный блок размером 64 КБ, необходимый для визуализации представления.
  • Вы можете мгновенно проверять произвольные сектора многотерабайтного тома с нулевыми затратами памяти.

6. Пошаговые практические рецепты.

Рецепт 1. Проверка и редактирование конфиденциального снимка экрана

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

Step 1: Highlight screenshot.png in the active panel and press F3 (Universal Lister).
Step 2: On the top toolbar, click "Edit Image" to launch the Image Editor.
Step 3: Select the "Mosaic / Blur" tool from the tool palette.
Step 4: Click and drag a selection rectangle over the API token to pixelate the text.
Step 5: Select the "Crop" tool, frame the relevant portion of the window, and press Enter.
Step 6: Click "Save" (Cmd+S) to overwrite, or "Save As" to create screenshot_redacted.png.
Step 7: Press Esc to close the editor; your clean image is ready in the file panel.

Рецепт 2: Мониторинг журнала в реальном времени и судебно-медицинская экспертиза

Цель: фоновый процесс завершается сбоем из-за ошибки кодирования. Вам нужно смотреть журнал в реальном времени и проверять необработанные байты вокруг неправильной последовательности.

Step 1: Highlight server.log in the active panel and press F3.
Step 2: Press F5 to activate Tail Mode. Watch incoming live log entries stream past.
Step 3: When the error appears, press F5 again to pause tailing.
Step 4: Press Ctrl+F and search for the error code (e.g. "0xEF").
Step 5: Press 2 on your keyboard to switch into Hex Mode.
Step 6: Inspect the exact 16-byte hexadecimal dump to examine unprintable control characters.
Step 7: Press 1 to return to formatted text mode, or Esc to close.

Рецепт 3. Быстрое создание исходного кода и подготовка Git

Цель: создать новый сценарий оболочки в текущем репозитории проекта, настроить стандартные заголовки bash и подготовить его к выполнению, не выходя из ATBCmder.

Step 1: In the active directory, press Shift+F4 (cm_EditNew).
Step 2: In the dialog prompt, type "build_release.sh" and press Enter.
Step 3: The Internal Code Editor opens immediately with an empty buffer.
Step 4: Type your script. Notice that auto-indent automatically indents loops and if-blocks:
        #!/usr/bin/env bash
        set -euo pipefail
        echo "Building binaries..."
Step 5: Press Cmd+S (⌘S) to save the file atomically to disk.
Step 6: Press Cmd+W (⌘W) to close the editor.
Step 7: With build_release.sh highlighted in the panel, press Alt+Enter (cm_SetFileProperties).
Step 8: Check the "Execute" permission for Owner (chmod +x) and press Enter.

7. Безопасность и системные оповещения

[!ВНИМАНИЕ] Внешние наблюдатели за модификациями Если открытый файл изменен или усечен внешним приложением во время работы во внутреннем редакторе (F4), ATBCmder отображает предупреждение о конфликте внешних изменений перед сохранением. Всегда выбирайте Перезагрузить, чтобы проверить последнюю версию диска, или Сохранить как, чтобы сохранить локальные изменения в отдельном файле.

Important

Безопасность двоичных файлов: текстовый и шестнадцатеричный режим Открытие неизвестного двоичного файла в текстовом режиме и сохранение его обратно на диск может привести к необратимому повреждению файла из-за замены декодирования UTF-8 (\ufffd). Универсальный список ATBCmder по умолчанию доступен только для чтения, что гарантирует, что ваши двоичные файлы никогда не будут случайно перезаписаны во время проверки.

[!ВНИМАНИЕ] Быстрый просмотр производительности удаленных сетевых ресурсов При просмотре удаленных серверов с высокой задержкой (FTP, SFTP или WebDAV) с активным быстрым просмотром (Cmd+Q) предварительный просмотр большого количества удаленного видео или архивных файлов запускает удаленную потоковую передачу. Если пропускная способность сети ограничена, отключите быстрый просмотр (Cmd+Q), чтобы просматривать деревья каталогов на полной скорости.

Tip

Доступность функциональных клавиш macOS На современных Apple MacBook и клавиатурах Magic Keyboard функциональные клавиши (F1-F12) по умолчанию сопоставлены с аппаратными элементами управления (яркость, воспроизведение мультимедиа). Чтобы активировать F3 или F4, удерживайте клавишу Fn (например, Fn+F3, Fn+F4). Альтернативно включите ** «Использовать клавиши F1, F2 и т. д. как стандартные функциональные клавиши»** в macOS Системные настройки ➔ Клавиатура ➔ Сочетания клавиш ➔ Функциональные клавиши.


8. Справочная таблица двухматричных клавиатур

Функциональная область Описание действия Сочетание клавиш macOS Классическая клавиша Commander Идентификатор команды
Быстрый просмотр Переключить предварительный просмотр противоположной панели Cmd+Q / ⌘Q Ctrl+Q cm_QuickView
Быстрый просмотр Панель переключения и предварительный просмотр Tab / ⇥ Tab cm_SwitchPanel
Листер Открыть файл в универсальном листере F3 / Fn+F3 F3 cm_View
Листер Режим просмотра обычного текста 1 1 — (Листер)
Листер Режим необработанного шестнадцатеричного представления 2 2 — (Листер)
Листер Переключить перенос слов Alt+W / ⌥W Alt+W — (Листер/Редактор)
Листер Переключить номера строк Alt+L / ⌥L Alt+L — (Листер/Редактор)
Листер Переключить режим хвостового журнала в реальном времени F5 / Fn+F5 F5 — (Листер)
Листер Предыдущий файл в каталоге P P — (Листер)
Листер Следующий файл в каталоге N N — (Листер)
Листер Найти текст Cmd+F / ⌘F Ctrl+F — (Листер/Редактор)
Листер Перейти к номеру строки Cmd+G / ⌘G Ctrl+G — (Листер/Редактор)
Листер Открыть в приложении по умолчанию Cmd+O / ⌘O Ctrl+O — (Листер)
Листер Полноэкранный переключатель F11 / Fn+F11 F11 cm_FullScreen
Редактор Редактировать выбранный файл (код/изображение) F4 / Fn+F4 F4 cm_Edit
Редактор Создать и редактировать новый файл Shift+F4 / ⇧F4 Shift+F4 cm_EditNew
Редактор Сохранить файл (атомарный) Cmd+S / ⌘S Ctrl+S —
Редактор Сохранить файл как Shift+Cmd+S / ⇧⌘S F12 —
Редактор Перезагрузить/вернуть файл Cmd+R / ⌘R Ctrl+R —
Редактор Закрыть окно редактора Cmd+W / ⌘W Esc —
Редактор Найти в документе Cmd+F / ⌘F Ctrl+F —
Редактор Найти и заменить Cmd+Option+F / ⌥⌘F Ctrl+H —
Редактор Отступ выделенного блока Tab / ⇥ Tab —
Редактор Удалить отступ у выбранного блока Shift+Tab / ⇧⇥ Shift+Tab —
Редактор Увеличение/Уменьшение/Сброс ⌘+ / ⌘- / ⌘0 Ctrl++ / Ctrl+- / Ctrl+0 —
СМИ Фоновое воспроизведение звука Нажмите Background — —
СМИ Добавить аудио в список воспроизведения F3 (во время игры) F3 cm_View
Конфигурация Менеджер файловых ассоциаций Меню конфигурации — cm_FileAssoc

Готовы автоматизировать сложные рабочие процессы и пакетную обработку?

Перейдите к главе 5: Электроинструменты и автоматизация →