2013-04-09 101 views
7

我找不到什麼可以被添加到 init 文件默認啓用自動拼寫檢查。如何在默認情況下啓用自動拼寫檢查?

自動拼寫檢查(Flyspell)可以從菜單中啓用 - 可能沒有學會如何菜單項的工作方式?

+1

我不確定這是否是一個編程問題。聽起來不像。嘗試超級用戶? (vim用戶在這裏,不能以任何方式幫助) – dequis 2013-04-09 01:42:54

+2

當然,這是一個編程問題,因爲你只能以編程方式進行編程。這裏是[回答如何做到這一點](http://stackoverflow.com/questions/6860750/how-to-enable-flyspell-mode-in-emacs-for-all-files-and-all-major-modes/6861176#6861176)。 – Onlyjob 2013-04-09 01:45:34

+1

是的,我知道emacs使用lisp,但它仍然聽起來像你想使用你的編輯器的功能,而不是編碼的東西。無論如何,這是你正在尋找的答案嗎?如果是這樣,你應該關閉這個答案或編輯成其他的東西。 – dequis 2013-04-09 01:51:36

回答

14

我在init.el如下:

(add-hook 'text-mode-hook 'flyspell-mode) 
(add-hook 'prog-mode-hook 'flyspell-prog-mode) 

這涵蓋了我的編輯需求就好了。

鉤子是像「事件」或觀察者模式,如果你使用OOP:他們的是那些獲得在某些點上運行的功能列表。您定製Emacs的主要方式之一是將您自己的函數添加到這些鉤子。

在Emacs大多數模式叫鉤正在啓用時他們。 prog-mode是從中導出編程模式的模式,因此將函數添加到prog-mode-hook可定製所有編程模式。

這個東西的最佳參考是內置的Emacs Lisp手冊(C-h rM-x info-emacs-manual)。它有關於Emacs Lisp編程的章節,包括關於鉤子的章節。

+2

謝謝。我還添加了'(setq ispell-dictionary「british」)'來選擇默認字典。 – Onlyjob 2013-04-09 06:42:15

+0

我發現您的解決方法不適用於多種文件類型。例如'emacs foo.log'在'emacs foo.log.txt'時不會有拼寫檢查器。下面顯然適用於所有文件:'(add-hook'find-file-hooks'turn-on-flyspell)' – Onlyjob 2013-04-09 06:48:54

相關問題