在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-color
ncurses中的终端描述用于此终端类型。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] 删除。
我来说两句