ショートバージョンだと minor mode が使えないので、powerline.el を使ってカスタマイズ。powerline.el の最後に記述されている mode-line-default だと mode-line が表示されなくなってしまうので、最終的に以下のような設定に。空行の ; はスルー。
;;;; vim-powerline like face
(require 'powerline)
;; powerline.el の中で nil 指定されているので
(scroll-bar-mode t)
;
(setq powerline-color1 "sienna")
(setq powerline-color2 "peru")
;
(set-face-attribute 'mode-line nil
:foreground "white"
:background "firebrick4"
:box nil)
(set-face-attribute 'mode-line-inactive nil
:background "sienna"
:box nil)
;
(defpowerline mule-info (caddr mode-line-mule-info))
; とりあえず propertize だけ拾った
(defpowerline remote (propertize "%1@" 'help-eco "remote"))
(defpowerline modified-ro "%*%&")
(defpowerline position "%p (%l,%c)")
(defpowerline global "%M")
;
(setq-default mode-line-format
(list '(:eval (concat (powerline-make-text "-" nil )))
'(:eval (concat (powerline-mule-info 'center nil )))
'(:eval (concat (powerline-make-text ":" nil )))
'(:eval (concat (powerline-modified-ro 'center nil )))
'(:eval (concat (powerline-remote 'center nil )))
'(:eval (concat (powerline-buffer-id 'left nil )))
'(:eval (concat (powerline-narrow 'left nil powerline-color1 )))
'(:eval (concat (powerline-major-mode 'left powerline-color1 )))
'(:eval (concat (powerline-narrow 'left powerline-color1 powerline-color2 )))
'(:eval (concat (powerline-minor-modes 'left powerline-color2 )))
'(:eval (concat (powerline-make-text " " powerline-color2 )))
'(:eval (concat (powerline-position 'right powerline-color1 powerline-color2 )))
'(:eval (concat (powerline-global 'right nil powerline-color1 )))
))
;
;; mode-line (global-mode-string) に時計を表示
(display-time)
環境は emacs-23.4、OS は Gentoo Linux と Cent OS 5.7 (だっけか)