2013-10-08 31 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)))