2012-10-16 28 views
4

目標:我希望show-trailing-whitespace爲所有緩衝區啓用保存幾個。引發問題的例外是*Shell Command Output*及其表弟*Async Shell Command*如何更改特定基本模式緩衝區的變量

我通常有show-trailing-whitespace定製t。因此它在所有新的緩衝區中都很活躍。

我也想擁有它關閉了一定的緩衝,最重要的是在他們之中*Shell Command Output*。這對我造成了一個問題:

  • 輸出緩衝區不使用特殊模式;它仍然在fundamental-mode。沒有fundamental-mode-hook,我可以掛鉤這個設置。
  • 有當主模式更改爲fundamental-mode運行該after-major-mode-change-hook,但緩衝在該模式啓動,因此這個鉤子無法運行。
  • 似乎沒有辦法掛鉤到get-buffer-create

我知道我可以隨時advise爲這個特殊的例子功能get-buffer-create,但我儘量避免儘可能。

任何提示?

回答

2

你可能會更好看,從對方的問題,只設置了var在你想看到尾隨空白的模式。

但我認爲你有一個好點的:這些貝殼輸出緩衝器不應該使用fundamental-mode。這也可能是時間M-x report-emacs-bug

+0

我知道,但直到今天那些「其他方式」是非常「全模式」。因此,我的偏好不需要添加大量的鉤子。 –

+1

'prog-mode-hook'和'text-mode-hook'應該覆蓋這些模式的很大一部分。 – Stefan

+0

好點,特別是因爲我不知道那個通用的'prog-mode-hook'。我想我會走這條路。絕對比使用'advise'更​​可取。謝謝。 –