通常情況下,我需要啓用自動填充模式,所以我打開它在.emacs中。但是,在PHP模式下編輯PHP時,我不想使用自動填充模式。有沒有辦法將它設置爲.emacs,這樣當我處於PHP模式時,自動填充段落模式會自動關閉,當我離開php模式時,它會自動打開,禁止其他覆蓋?在Emacs中,如何在php模式下禁用自動填充段落模式?
更新說明:.emacs
的仔細檢查發現,自動填充設置了由
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(column-number-mode t)
...
'(text-mode-hook (quote (turn-on-auto-fill text-mode-hook-identify)))
...)
'自動填充模式'看起來不像是全局的,所以你可能已經把它設置在你的用戶定製文件的某個地方。我能想到的控制其行爲的最簡單方法是對打開「自動填充模式」(即,不包括「php-mode」)(或創建此類函數)的函數進行例外處理,或者乾脆將其用作通常使用的主模式掛鉤啓用的緩衝區本地次要模式。該文檔聲明它是一個緩衝區本地次要模式:https://www.gnu.org/software/emacs/manual/html_node/emacs/Auto-Fill.html – lawlist 2014-09-19 06:42:04
如果它是一個繼承問題(例如'php -mode'是借用另一個主要模式)而不是全局設置問題,那麼也許你可以嘗試像這樣:'(add-hook'php-mode-hook(lambda()(auto-fill-mode-1)) )「繼承問題是我建立自己的文本模式與股票版本不同的原因之一 - 也就是說,其他主要模式不會繼承某些文本模式設置。 '-1'(負整數)關閉次模式。 – lawlist 2014-09-19 07:05:56
@lawlist你可以給你的評論作爲正確的答案嗎? – Thomas 2014-09-19 13:51:20