我使用的是dark-blue2颜色主题,但在控制台下看起来很难看。 所以我想在终端下不使用颜色主题,那我该怎么办?
答案 0 :(得分:13)
如果你在一个窗口系统中,那么变量 window-system
比那些家伙稍微短一些,{{> something
{1}}如果你在终端,那么如果我想加载color-theme-darkblue2,我会:
nil
它只会使用终端中的默认颜色。当然,如果您愿意,可以在else部分加载一个术语友好的主题:
(if window-system
(progn
(load "color-theme")
(color-theme-darkblue2)))
答案 1 :(得分:1)
在启动Emacs之前设置与单色终端相对应的“TERM”变量。例如,如果您在xterm中,请使用:
TERM=xterm-mono emacs -nw
如果“控制台”是指文本模式下的Linux控制台,则可以尝试使用“vt100”(或“vt320”)。
答案 2 :(得分:1)
我使用它,这很有效,因为我使用了来自Emacs CVS(未来23)的multi-tty内容:
(defun mrc-xwin-look (frame) "Setup to use if running in an X window" (color-theme-deep-blue)) (defun mrc-terminal-look (frame) "Setup to use if running in a terminal" (color-theme-charcoal-black)) (defun mrc-setup-frame (frame) (set-variable 'color-theme-is-global nil) (select-frame frame) (cond ((window-system) (mrc-xwin-look frame) (tool-bar-mode -1) (mrc-maximize-frame)) (t (mrc-terminal-look frame)))) (add-hook 'after-make-frame-functions 'mrc-setup-frame) (add-hook 'after-init-hook (lambda () (mrc-setup-frame (selected-frame))))
根据帧是在控制台还是在X窗口中运行,它会选择不同的颜色主题。 (我不想在控制台中丢失颜色语法高亮。)
顺便说一句,最大化看起来像这样:
(defun mrc-maximize-frame () "Toggle frame maximized state" ;; from http://paste.lisp.org/display/54627/raw (interactive) (cond ((eq 'x (window-system)) (progn (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)) (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))) (t (message "Window system %s is not supported by maximize" (symbol-name (window-system))))))
答案 3 :(得分:0)
我使用的另一个简单的:
(when window-system
(load-theme '<myThemeName>))
所以这将在窗体系统不是零的所有情况下加载主题,这基本上是任何一种gui。