带有ANSI代码的文本编辑器/查看器,支持Windows

我需要一些工具来在Windows上正确显示包含ANSI代码的文本。 没有需要全面的支持,但至less着色/大胆是必须的。

原因:我的logging器/debugging模块产生很好的渲染丰富的输出,使用ANSI代码着色的重要部分。 这在串行terminal上debugging时有很大帮助,但如果将debugging转储到文件或将其复制粘贴到Windows上的文本编辑器(交互式远程debugging并不总是可行),则至多所有的ANSI代码都将被剥离,在最坏的情况下,它们被渲染为模糊真实数据的垃圾字符。 基本的编辑function,将不胜感激,能够挑选出特定的部分,注释,等等。

使用ASCII / ANSI实用程序可能会有更多的运气,如下所列: ASCII / ANSI / NFO实用程序列表

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

例如, 最新版本的NFOPad可以在这里找到 。

如果您主要想查看文件而不是编辑文件,Ansifilter会将其转换为HTML,然后您可以查看,至少在您的浏览器中进行搜索,或者,如果写字板足够好(难以想象),则为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用户来说可能是有用的。

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

它支持着色,粗体转义被识别,但不显示,虽然在设置文件中可以给它分配一个特殊的颜色。 另外值得注意的是,这个插件以只读模式显示文本,需要编辑时关闭。

这里是在github上提供的截图,我亲自尝试过,并验证它的工作原理:

在这里输入图像说明

我知道这不会有太大的帮助 – 但我一直在寻找在Linux上完全相同的东西; 只是试图查看一些内部有bash ANSI颜色代码的日志输出。 不幸的是,这些ANSI颜色代码分布在几行上 – 这意味着将文件和管道分成“少”,“大部分”和类似的工具,只显示起源的起始线,而不是后续行应该已经着色。

有趣的是,我觉得像“nano”,“gedit”,“vim”这样的常用Linux工具,还有什么不能在文本文件中使用ANSI颜色代码的能力,但是这里的文本文件中的ANSI颜色信息非常适中编辑。 我只找到测试编辑器“joe”的ANSI颜色信息:

廉价的ANSI颜色! – http://tldp.org/LDP/LG/issue01to08/articles.html#ansi

但不能得到推荐的工作(也不能得到“emacs”工作,至少不能直接阅读与ANSI颜色字符内的文本文件)。

好东西 – 看起来你需要什么,如果你需要ANSI文本颜色的话,就是按照上面的建议寻找ASCII art / NFO工具 – 而且我最终发现并为我工作的是tetradraw (通过www .linux.org / apps / AppId_42.html;可以在Ubuntu中安装sudo apt-get …实际上,tetradraw是绘图/编辑器部分的名称 – 但是有一个单独的查看器,也可以与ANSI颜色代码, 四视图 )。

那么,谁会想到,你需要追踪一个ASCII艺术工具,以便读取日志文件:)

无论如何,希望这可能以某种方式帮助进一步搜索Windows的ANSI颜色文本编辑器..干杯!

如果你只是想查看那么终端程序“Tera Term”可以做到这一点。 只需点击“文件” – >“重放日志”并选择包含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))

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

厌倦了搜索,我终于找到了ANSIFilter (而不是Jeffson提到的NotePad ++插件),唯一适用于我的。 我已经添加到Windows上下文菜单,所以我现在可以轻松地打开我的ANSI文本文件。

开放源代码编辑器Atom包含language-ansi-styles包。 它支持各种格式,除了;r;g;b

在这里输入图像说明 在这里输入图像说明

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

更新 :如前所述,它们只是术语输出的着色器。 但是,如果你可以在emacs中编辑shell缓冲区的内容,例如。 cat file && colorize。

但是等一下,我刚刚发现了这些:

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

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

对于你的应用程序,所有的日志记录都会转到这个类,这个类将输出分割成终端/控制台和文件。

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

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

或者,我认为,而不是HTML,你也可以使用丰富的文本,但我不知道丰富的文字的所有可能性,所以你可能要看这个。

你可以尝试记事本++(见http://notepad-plus.sourceforge.net/uk/site.htm )。 这是非常强大的(基于Scintilla的),并有一个选项来查看不可打印的字符(如换行符等)。