自定义更少的颜色

阿梅里奥·巴斯克斯·雷纳(Amelio Vazquez-Reina)

在OS X中使用较少的颜色时,如何自定义显示颜色?当我在Emacs的ansi术语中运行较少时,颜色不会很好显示。

$ less --version
less 418
Copyright (C) 1984-2007 Mark Nudelman
托马斯·迪基

对于OSX,这指的是Emacs 22.1.1。具有Emacs 24的Fedora具有相同的行为。

Emac的ansi-term支持8种颜色这就是ANSI指定的全部内容,并且适当地命名了“ ansi-term”。eterm-colorncurses中终端描述用于此终端类型。Emacs设置TERM为此值(请参阅参考资料):

(defvar term-term-name "eterm-color"
  "Name to use for TERM.
Using \"emacs\" loses, because bash disables editing if $TERM == emacs.")

如果您覆盖TERM,例如,告诉应用程序它具有更多颜色,则将不会使用额外的颜色。同样,忽略终端数据库的硬编码应用程序也不能使用额外的颜色。

尽管Emacs可以在终端中使用8种以上的颜色,但是ansi-term却不能。阅读源代码,查找term-ansi-current-color,然后发现30-37、39、40-47和49只有逻辑

   ;; Foreground
   ((and (>= parameter 30) (<= parameter 37))
    (setq term-ansi-current-color (- parameter 29)))

   ;; Reset foreground
   ((eq parameter 39)
    (setq term-ansi-current-color 0))

   ;; Background
   ((and (>= parameter 40) (<= parameter 47))
    (setq term-ansi-current-bg-color (- parameter 39)))

   ;; Reset background
   ((eq parameter 49)
    (setq term-ansi-current-bg-color 0))

您也许可以更改终端使用的调色板,但是没有办法使ansi-term与此有所不同(即使Emacs可以使用256,它也将使用前8种颜色)。

进一步阅读:

对于Emacs而不是anterm

还:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章