根据预定义的条件为文本编辑器(如emacs)着色文本?

时间:2015-11-20 03:01:07

标签: text emacs colors

来自http://i.stack.imgur.com/MC6vX.png

https://stackoverflow.com/a/21666354/433570

这是基于DOS的解决方案,它可以用于基于Linux的系统吗?

我正在尝试突出显示日志文件中的内容。

例如,我想强调nginx日志的行,其响应时间比1秒慢。

**编辑**

目前我正在使用hi-lock-mode
例如,我在显示响应缓慢的行上放了一个标记,然后使用正则表达式&高锁以突出它。

我想这是现​​在可以解决的问题。
我想知道是否有更好的解决方案 具有用户定义功能而非正则表达式的高锁模式是我所希望的。

我会定义函数,并在函数颜色之间进行映射。 然后我会M-x apply [function]

def slow(line):
   if ... :
     return True
   return False

slow: yellow,  
iPhone: blue,

我认为这对检查日志很有用。
我想知道那里是否有类似的功能?

1 个答案:

答案 0 :(得分:0)

为什么不为自己的文件编写自己的主要模式?

支持字体锁定的基本主要模式并不难实现。网上有很多关于此的文档。您只需要一个语法表(以便Emacs知道哪些字符开始字符串等)和一些用于语法高亮的字体锁定规则。

最简单的方法是从现有版本开始,例如ini-mode,这是一种用于编辑Windows风格的ini文件的小型主要模式。

除非您的文件具有特定的文件扩展名或遵循特定的命名约定,否则您可能希望向magic-mode-alist添加一个条目,该条目为您提供了一种基于内容而不是基于内容识别特定文件的方法文件名。

如果您希望在使用moreless查看时在终端窗口中看到您的文件是彩色的,则可以使用e2ansi,这是一个使用Emacs生成ANSI版本的软件包语法突出显示文件。