2015-10-18 176 views

回答

2

自動點心等,buffers.el

你可能想看看auto-dim-other-buffers.el,可從MELPA。

auto-dim-other-buffers-mode是一個全球性的次要模式這使得 非當前緩衝器不太突出使之更清楚哪個窗口 具有焦點。

安裝模式的優選方式是通過從 MELPA安裝一個包:

M-x package-install RET auto-dim-other-buffers RET 

一旦安裝,模式可以在(全局)被開啓以:

M-x auto-dim-other-buffers-mode RET 

爲了使每次Emacs啓動時啓用該模式,將以下內容添加到Emacs初始化文件(~/.emacs~/.emacs.d/init.el) :

(add-hook 'after-init-hook (lambda() 
    (when (fboundp 'auto-dim-other-buffers-mode) 
    (auto-dim-other-buffers-mode t)))) 

配置緩存如何暗淡的樣子,定製 auto-dim-other-buffers-face

M-x customize-face RET auto-dim-other-buffers-face RET 

auto-dim-other-buffers-mode是一個全球性的次要模式這使得 非當前緩衝器不太突出使之更清楚哪個窗口 具有聚焦:這可以通過以下方式實現。

對於給定的活動窗口,所有其他窗口不顯示相同的緩衝將被設置爲自定義背景。即,活動窗口和顯示相同緩衝區的其他窗口將具有不同於其餘窗口的背景顏色。我相信最後一部分是您正在尋找的具體行爲,根據您對已接受答案的評論。

「非常感謝你,這是非常接近我想要的。除 事實,有兩個窗口打開同一個緩衝區導致兩個 窗口被標記爲‘無效’。這不是超級很重要,但是 有解決這個問題的簡單方法嗎?「

+1

這是一個非常好的模式。謝謝! – Tohiko

4
(defun highlight-selected-window() 
    "Highlight selected window with a different background color." 
    (walk-windows (lambda (w) 
        (unless (eq w (selected-window)) 
        (with-current-buffer (window-buffer w) 
         (buffer-face-set '(:background "#111")))))) 
    (buffer-face-set 'default)) 

(add-hook 'buffer-list-update-hook 'highlight-selected-window) 

更改背景顏色(「#111」)以適應您的口味。

+0

非常感謝。這與我想要的非常接近。除了有兩個窗口打開相同緩衝區的事實導致兩個窗口被標記爲「不活動」。這不是非常重要,但有沒有簡單的方法來解決這個問題? – Tohiko

+0

如何使用'clone-indirect-buffer-other-window'(C-x 4 c)來獲取這兩個窗口?如果這不適用於您,您可以切換兩個表達式以將兩個窗口標記爲活動狀態。 – huaiyuan