簡體   English   中英

在emacs / w32上啟用flyspell模式?

[英]Enabling flyspell mode on emacs/w32?

我需要在emacs / w32上安裝/運行flyspell模式。

我從這個站點安裝了ispell for windows,然后我按照這里寫的程序。

  1. 我下載了flyspell-1.7a.el,將其重命名為flyspell.el,並將其復制到load-path目錄。
  2. 我修改了.emacs
;;; http://www-sop.inria.fr/members/Manuel.Serrano/flyspell/flyspell.html
;;; flyspell mode
  (require 'flyspell)
  (autoload 'flyspell-mode "flyspell" "On-the-fly spelling checker." t)
  (autoload 'flyspell-delay-command "flyspell" "Delay on command." t) (autoload 'tex-mode-flyspell-verify "flyspell" "" t) 
)

但是,當我使用flymode運行emacs時,我收到以下錯誤。

(error "Autoloading failed to define function turn-on-flyspell")

可能有什么問題?

與ISPELL解決方案

這是win32的問題,應該使用與emacs / win32一起使用的問題,正如emacs一書中所解釋的那樣。

  1. 從該網站之一下載ispell.zip。
  2. 將ispell.exe復制到PATH目錄,並將英語字典復制到主目錄。

ASPELL的解決方案

在這篇文章中, vedang給了aspell一個更好的答案。

它有Windows安裝程序,字典安裝在這里 在.emacs中添加以下行可以和我一起使用。

(custom-set-variables
    '(ispell-dictionary "british")
    '(ispell-program-name "H:\\bin\\aspell\\bin\\aspell.exe"))

兩者都require flyspell(它將加載庫),然后為其兩個函數聲明autoload (其目的是避免在被調用的函數之前加載庫)。

我不知道這是否會導致錯誤(可能是后續的autoloads破壞了真正的定義?),但絕對不需要兩者。

實際上,在Emacs 23.2.1上(如果不是更早),flyspell.el聲明了它自己的自動加載(我相信所有的內置庫都是如此),所以你真的不應該做任何事情。你正在運行一個足夠的最新版本。 我們在談論哪個版本的Emacs?

編輯:事實上,默認情況下,在23.2.1中, flyspell-delay-command不會自動加載,因此如果您決定刪除require,則可能需要保留該行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM