具有ANSI代码的文本编辑器/查看器呈现对Windows的支持

时间:2010-02-16 09:36:41

标签: windows editor syntax-highlighting ansi

我需要一些工具来在Windows上正确显示包含ANSI代码的文本。不需要完全支持,但至少必须着色/粗体。

原因:我的记录器/调试模块产生了很好的渲染丰富的输出,重要部分使用ANSI代码着色。这在串行终端上进行调试时有很大帮助,但是如果我将调试转储到文件或将其复制粘贴到Windows上的文本编辑器中(交互式远程调试并不总是可行),最好剥离所有ANSI代码,在最坏的情况下,它们被渲染为模糊真实数据的垃圾字符。初级编辑功能将被理解为能够选择特定部分,注释等。

12 个答案:

答案 0 :(得分:8)

对于ASCII / ANSI实用程序,您可能会更幸运,如下所示: List of ASCII/ANSI/NFO utilities

**注意:此页面上的某些文件可能已过时,您可能会在各自的主页上找到这些实用程序的较新版本。*

例如,the latest version of NFOPad can be found here

答案 1 :(得分:8)

如果您主要想查看文件而不是编辑文件,Ansifilter会将其转换为HTML,然后您可以在浏览器中查看,至少在浏览器中搜索,或者如果wordpad足够好则可以转换为RTF(难以想象) )。嗯,看起来下载页面上也有一个记事本++插件版本,如果它允许你加载到记事本++中,这可能是完美的。
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用户有用。

答案 2 :(得分:7)

我一直在寻找一种解决方案来显示ANSI颜色(用于程序调试输出的可读性),并偶然发现Sublime Text(付费软件试用http://www.sublimetext.com/)和ANSIescape包({{3或者通过包控件安装)。

虽然可以在设置文件中为其指定特殊颜色,但它支持着色并且可以识别粗体转义但不显示。另外值得注意的是,此插件以只读模式显示文本,如果需要编辑则需要关闭。

以下是github上提供的屏幕截图,我亲自试过并验证了它的工作原理:

enter image description here

答案 3 :(得分:6)

开源编辑器Atom包含language-ansi-styles个包。它支持除;r;g;b之外的所有格式。

enter image description here enter image description here

答案 4 :(得分:2)

我知道它不会有太多帮助 - 但我在linux上寻找完全相同的东西;只是试图查看一些内部有bash ANSI颜色代码的日志输出。不幸的是,这些ANSI颜色代码分布在几行中 - 意味着'捕捉'文件和管道到'少-R','大多数'和类似的工具,只会显示颜色起源的起始线,但不是后续的线应该是彩色的。

有趣的是,我认为通常的Linux工具,如'nano','gedit','vim'以及诸如此类的文本文件中的ANSI颜色代码的功能,但它在文本文件中的ANSI颜色信息非常适中这些编辑器中的文件。我只找到了测试编辑器'joe'的ANSI颜色信息:

便宜的ANSI颜色! - http://tldp.org/LDP/LG/issue01to08/articles.html#ansi

但无法获得推荐的工作(也无法使'emacs'工作,至少不能通过直接读取内部带有ANSI颜色字符的文本文件)。

好事 - 看起来你需要的是,如果你需要ANSI颜色的文字,就是按照上面的建议寻找ASCII艺术/ NFO实用程序 - 而且我最终找到并且为我工作的那个,是< b> tetradraw (通过www.linux.org/apps/AppId_42.html;可以在Ubuntu中安装sudo apt-get ...实际上,tetradraw是绘图/编辑器部分的名称 - 但是有一个单独的查看器也可以使用ANSI颜色代码, tetraview )。

嗯,谁会想到,你需要追踪一个ASCII艺术实用程序,以便读取日志文件:)

无论如何,希望这也可以帮助进一步搜索ANSI的ANSI彩色文本编辑器。干杯!

答案 5 :(得分:2)

如果您只是想查看,那么终端程序“Tera Term”可以执行此操作。只需点击“文件” - &gt; “重播日志”并选择包含ANSI代码的文件。

您可以在此处下载Tera Term: http://logmett.com/index.php?/download/tera-term-477-freeware.html

答案 6 :(得分:1)

在Emacs中,只需在打开.nfo文件之前评估以下内容:

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

答案 7 :(得分:1)

我一直在测试Andras Vass引用的URL上的多个程序无结果(它们不显示颜色,或者它们一直显示ANSI代码是一堆乱七八糟的字符)。

厌倦了搜索我终于找到了 ANSIFilter (不是Jeffson提到的NotePad ++插件),这对我有用。 我已将其添加到Windows上下文菜单中,因此我现在可以轻松打开我的ANSI文本文件。

答案 8 :(得分:0)

如果emacs不能这样做,我会感到惊讶。 至少有嵌入式外壳。 有:

更新:正如已经指出的那样,它们只是术语输出着色剂。但是,如果您也可以编辑emacs中的 shell 缓冲区内容,例如。 cat file&amp;&amp;上色。

但是等一下,我刚刚找到了这些:

答案 9 :(得分:0)

如果您的应用程序的调试日志记录通过1类/函数进行,您可以尝试拆分输出,以便:

  • 终端/控制台上显示类似ANSI的日志记录
  • 类似HTML的日志记录将写入文件

对于您的应用程序,所有日志记录都会转到此类,此类将输出拆分为终端/控制台和文件。

在日志记录类中设置'标准'以指定颜色和粗体(例如,预定义代码,如Ctrl-A表示红色,Ctrl-B表示粗体,...,或记录类中的特定方法,用于设置颜色和大胆,甚至可能是ANSI代码),并在中央日志记录类中将其翻译为:

  • 终端上的正确ANSI代码
  • 文件中的正确HTML代码

或者,我认为您也可以使用富文本而不是HTML,但我不知道富文本的所有可能性,因此您可能需要查看它。

答案 10 :(得分:-2)

Notepad2 文本编辑器声称是+&#34; NFO&#34; +查看器。

/ *已删除链接* /

编辑:没有提到NFO!我以为我看到了它。

::

答案 11 :(得分:-3)

您可以尝试记事本++(请参阅http://notepad-plus.sourceforge.net/uk/site.htm)。它非常强大(基于Scintilla),并且可以选择查看不可打印的字符(如换行符等)。