Текстовый редактор/просмотрщик с поддержкой кодов ANSI для Windows [закрыто]

StackOverflow https://stackoverflow.com/questions/2271785

Вопрос

Мне нужен какой-то инструмент для правильного отображения текста, содержащего коды ANSI, в Windows.Полная поддержка не требуется, но хотя бы раскраска/жирный шрифт обязательна.

Причина:Мой модуль логгера/отладки выдает хорошо визуализированный насыщенный вывод с важными разделами, окрашенными с использованием кодов ANSI.Это очень помогает при отладке на последовательном терминале, но если я сбрасываю отладку в файл или копирую и вставляю ее в текстовый редактор в Windows (интерактивная удаленная отладка не всегда возможна), в лучшем случае все коды ANSI удаляются, в худшем случае они отображаются как мусорные символы, скрывающие реальные данные.Приветствуются элементарные возможности редактирования, позволяющие выбирать определенные части, комментировать и т. д.

Это было полезно?

Решение

Возможно, вам больше повезет с утилитами ASCII/ANSI, подобными перечисленным здесь:Список утилит ASCII/ANSI/NFO

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

Например, последнюю версию NFOPad можно найти здесь.

Другие советы

Если вы в первую очередь заинтересованы в просмотре файла, а не в его редактировании, Ansifilter преобразует его в HTML, который вы затем сможете просмотреть и хотя бы выполнить поиск в своем браузере, или в RTF, если Wordpad будет достаточно хорош (трудно представить).Да, похоже, на странице загрузки тоже есть версия плагина для Notepad++, так что было бы идеально, если бы она позволяла загружать в Notepad++.
http://www.andre-simon.de/doku/ansifilter/ansifilter.html

Для vim также есть другой плагин, который раскрашивает текст в соответствии с кодами ANSI.
http://www.vim.org/scripts/script.php?script_id=302

Однако, несмотря на то, что он выделяет текст правильным цветом, сами коды ANSI остаются там (в блеклом, близком к фону цвете), что, вероятно, испортит любое форматирование выравнивания в файле, а также затруднит его перемещение. вокруг файла (много «пустого пространства», по которому можно перемещать курсор, поиск слова не будет найден, если в его середине есть код ansi и т. д.).Есть патч, который он также может использовать, чтобы скрыть коды, но для этого потребуется исправление, а затем перекомпиляция самого vim из исходного кода.

Да, предлагать vim бесполезно, если вы еще не являетесь пользователем vim, я знаю, что для этого требуется слишком большая кривая обучения.Но это может быть полезно пользователям vim.

Я искал решение для отображения цветов ANSI (для удобства чтения результатов отладки программы) и наткнулся на Sublime Text (платное программное обеспечение с пробной версией). http://www.sublimetext.com/) с пакетом ANSIescape (https://github.com/aziz/SublimeANSI или установлен через управление пакетами).

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

Вот скриншот, представленный на github, я лично попробовал и убедился, что он работает:

enter image description here

Редактор с открытым исходным кодом Атом есть пакет язык-анси-стили.Он поддерживает все виды форматирования, кроме ;r;g;b.

enter image description here enter image description here

Я знаю, что это не поможет, но я искал то же самое в Linux;просто пытался просмотреть некоторые выходные данные журнала, внутри которых были цветовые коды bash ANSI.К сожалению, эти цветовые коды ANSI были распределены по нескольким строкам - это означает, что "кошка" файла и передача в "less -R", "most" и подобные инструменты просто отображали начальную строку, в которой возник цвет, но не последующие строки, которые должны были быть окрашены.

Как ни странно, я думал, что обычные инструменты Linux, такие как «nano», «gedit», «vim» и тому подобное, будут иметь возможности для цветовых кодов ANSI в текстовом файле, но информация о цветах ANSI в текстовых файлах в этих файлах очень скромна. редакторы.Я нашел информацию о цвете ANSI только для тестового редактора «Джо»:

Дешевый цвет ANSI!- http://tldp.org/LDP/LG/issue01to08/articles.html#ansi

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

Хорошая вещь - кажется, что вам нужно, если вам нужен цвет ANSI в тексте, - это поискать утилиты ASCII art/NFO, как рекомендовано выше - и та, которую я наконец нашел и которая у меня работала, была тетрадро (через www.linux.org/apps/AppId_42.html;можно установить sudo apt-get в Ubuntu...на самом деле, тетрадрау — это название части рисования/редактора, однако существует отдельная программа просмотра, которая также работает с цветовыми кодами ANSI, тетравид).

Ну, кто бы мог подумать, что вам нужно найти утилиту ASCII art, чтобы читать файлы журналов :)

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

Если вы просто хотите просмотреть, то терминальная программа «Тера Терм» может это сделать.Просто нажмите «Файл» -> «Журнал воспроизведения» и выберите файл, содержащий коды ANSI.

Вы можете скачать Tera Term здесь:http://logmett.com/index.php?/download/tera-term-477-freeware.html

В Emacs перед открытием файла .nfo просто оцените следующее:

(add-to-list 'auto-coding-alist '("\\.nfo\\'" . cp437-dos))

Я некоторое время тестировал несколько программ по URL-адресу, указанному Андрашем Вассом, с помощью Нет результатов (они не отображают цвета или продолжают отображать коды ANSI в виде набора символов).

Устал искать, наконец-то нашел ANSIфильтр (а не плагин NotePad++, на который ссылается Джеффсон), единственное, что у меня работает.Я добавил его в контекстное меню Windows, поэтому теперь я могу легко открывать текстовые файлы ANSI.

Я был бы удивлен, если бы emacs не смог этого сделать.По крайней мере, со встроенной оболочкой.Есть:

Обновлять:как уже было отмечено, они являются всего лишь раскрасками вывода терминов.Но если вы можете редактировать оболочка содержимое буфера в emacs, например. cat file && раскрасить.

Но подождите минутку, я только что нашел это:

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

  • Журналирование в формате ANSI отображается на терминале/консоли.
  • Журналирование в формате HTML записывается в файл.

В вашем приложении вся регистрация ведется в этом классе, и этот класс разделяет вывод на терминал/консоль и файл.

Создайте «стандарт» в своем классе журналирования для указания цветов и жирности (например,предопределенные коды, такие как Ctrl-A означает красный, Ctrl-B означает жирный шрифт, ... или определенные методы в классе журнала для установки цвета и жирности, или, возможно, даже ANSI-коды), и переведите это в свой центральный класс журнала к:

  • правильные коды ANSI на терминале
  • правильные HTML-коды в файле

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

Блокнот2 текстовый редактор утверждает, что является средством просмотра +"NFO"+.

/* Удаленная ссылка */

редактировать:НФО не упоминается!Я думал, что видел это.

::

Вы можете попробовать notepad++ (см. http://notepad-plus.sourceforge.net/uk/site.htm).Он довольно мощный (на основе Scintilla) и имеет возможность просматривать непечатаемые символы (например, разрывы строк и тому подобное).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top