Ansi色文件编辑

时间:2013-03-13 22:18:55

标签: emacs terminal ansi-escape transcription ansi-colors

上下文

使用传统的Unix命令“script”获得终端交互的一些脚本文件。

这些成绩单包含许多控制字符(如编辑shell命令时的退格键),以及运行各种命令后的大量颜色代码序列。偶尔,甚至会运行像“emacs -nw”或“aptitude”这样的彩色全终端(基于ncurses)应用程序。

在程序运行时,TERM环境变量设置为“xterm”。

需要1:阅读(或多或少已解决)

我需要再次阅读这些文件,有时会复制粘贴一些小部件。

麻烦在于:虽然这里的一种颜色发生了变化并且没有太多问题,但它们的实际密度使输出几乎无法读取。更糟糕的是,编辑的命令行(带有光标跳转和编辑的单词)完全不可读。

“好的”解决方案

使用例如浏览文件“少 - ”。在同一终端设置中向前进行分页可以再现各种颜色和字符样式。

但许多其他功能或多或少都会被破坏,例如向后搜索产生混乱的终端输出,经常要按“Ctrl-L”来清理东西。

需要2:编辑

我首选的编辑器是emacs。有些人在emacs中运行shell时遇到类似的情况,例如: Something wrong with Emacs shell

这是不一样的情况。差异示例:这里我们不必运行实际的shell,但我们需要像通常的编辑一样自由移动光标。

这里的编辑意味着可以在编辑器中轻松打开这样的成绩单文件,然后:

  • 始终通过编辑,查看终端代码传达的字符更改(颜色,属性)
  • (可选)某些在终端网格上是邻居但在文件中被某些控制字符分隔的字符会有一个关于此的视觉提示
  • 插入一些文字的能力,
  • 删除部分,
  • 使用所有编辑器功能,如搜索/替换等。
  • copy&粘贴到&从文件(包括外部程序,只接收纯文本)
  • 在我最疯狂的梦想中,某种“扁平”动作,比如选择一个带有大量编辑命令行的序列,并将其替换为一系列简单的字符,就好像它是在一次运行中键入的一样。上面提到的“视觉提示”将消失。

1 个答案:

答案 0 :(得分:0)

键入Alt-:来评估迷你缓冲区中的某些内容。评估(ansi-color-apply-on-region (point-min) (point-max)),它将ansi颜色代码转换为字体颜色。