Текстовый редактор / средство просмотра с кодами ANSI, представляющими поддержку [закрывших] окон

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

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

33
задан SF. 16 February 2010 в 09:36
поделиться

6 ответов

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

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

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

9
ответ дан 27 November 2019 в 19:28
поделиться

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

-3
ответ дан 27 November 2019 в 19:28
поделиться

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

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

Но постойте, я только что нашел это:

0
ответ дан 27 November 2019 в 19:28
поделиться

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

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

Cheap ANSI Color! - http://tldp.org/LDP/LG/issue01to08/articles.html#ansi

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

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

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

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

2
ответ дан 27 November 2019 в 19:28
поделиться

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

  • ANSI-подобная логика показывается на терминале/консоли
  • HTML-подобная логика записывается в файл

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

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

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

Альтернативно, я думаю, что вместо HTML вы также можете использовать rich-text, но я не знаю всех возможностей rich-text, так что вам, возможно, придется поискать.

0
ответ дан 27 November 2019 в 19:28
поделиться

Если вы в первую очередь заинтересованы в просмотре файла, а не в его редактировании, Ansifilter преобразует его в HTML, который вы затем можете просматривать и, по крайней мере, искать в ваш браузер, или RTF, если Wordpad будет достаточно хорош (трудно представить). Ха, похоже, на странице загрузки тоже есть версия плагина для блокнота ++, так что это может быть идеально, если позволяет загружать в блокнот ++.
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.

8
ответ дан 27 November 2019 в 19:28
поделиться