2013-10-08 34 views
1

我修改了我的模式行以显得更清晰。不幸的是,这可以防止编译缓冲区显示其退出状态。如何在修改的模式行中显示编译状态?

Normaly失败编译会显示类似: (Compilation:exit [1])

通过我修改编译状态“退出[1]”丢失。

我定义的主要和次要模式如下:

(setq my-modeline-major-mode 
    ;; major modes 
    (list 
    '(:eval (propertize "%m" 'face 'font-lock-string-face 
         'help-echo buffer-file-coding-system)))) 

(setq my-modeline-minor-modes 
    ;; list of minor modes 
    (list 
    minor-mode-alist)) 

模式行本身遵循的结构:

(setq-default mode-line-format 
      (list 
      " [" 
      my-modeline-major-mode 
      "][" 
      my-modeline-minor-modes 
      "]" 
      " %-" ;; fill with '-' 
      )) 

M-X自定义组编辑没有提供任何帮助。

+1

除了模式行处理,你还应该添加'global-mode-string',一些模式用来显示通知。 http://bruce-connor.github.io/emacs-online-documentation/Var/global-mode-string – Malabarba

+0

我将借此机会建议您尝试智能模式。它有一个更清晰的外观,让我们用变量定制模式行(而不是手动编辑它),这应该让你免于屠宰有用的信息。 :-) http://www.emacswiki.org/emacs/SmartModeLine – Malabarba

回答

3

您需要在自定义模式行中包含值mode-line-process。这似乎工作:

(setq my-modeline-major-mode 
    ;; major modes 
    (list 
    '(:eval (propertize "%m" 'face 'font-lock-string-face 
         'help-echo buffer-file-coding-system)) 
    '("" mode-line-process)))