Jak skonfigurować Emacsa do używania „ispell” w Mac OS X?

27

Używam brewjako mojego menedżera pakietów zarówno dla Emacsa, jak i ispell. Mam oba zainstalowane. Robiąc szybkie google, nie byłem w stanie dowiedzieć się, jak powiedzieć Emacsowi, gdzie jest ispell, i załadować odpowiednie słowniki.

Teraz, kiedy zrobić M-x ispell-check-version, Emacs saucily odpowiada: Searching for program: No such file or directory.

Jak skonfigurować Emacskorzystanie ispell?

Avery Chan
źródło

Odpowiedzi:

15

Zmienna, której szukasz, to ispell-program-name. Umieść to gdzieś w swoim .emacs:

(setq ispell-program-name "/path/to/ispell")

Lub użyj M-x set-variableitp.

Referencje:

  • Od źródeł do ispell.el

    (defcustom ispell-program-name
      (or (locate-file "aspell"   exec-path exec-suffixes 'file-executable-p)
          (locate-file "ispell"   exec-path exec-suffixes 'file-executable-p)
          (locate-file "hunspell" exec-path exec-suffixes 'file-executable-p)
          "ispell")
      "Program invoked by \\[ispell-word] and \\[ispell-region] commands."
      :type 'string
      :group 'ispell)
    
  • Zobacz także: http://emacswiki.org/emacs/InteractiveSpell

Ilekroć nie możesz znaleźć funkcji Emacsa, pamiętaj C-h f(lub zmienną:) C-h v. Wprowadzanie ispellu Describe functionwiersz mówi, że ispell is an interactive compiled Lisp function in 'ispell.el'.i stamtąd można zazwyczaj znaleźć to, czego szukasz.

ckhan
źródło
1
Jeśli używasz set-variable do ustawienia ispell-program-name, upewnij się, że wstawiłeś podwójne cudzysłowy wokół wartości. W moim przypadku było to „/ opt / local / bin / aspell”
Jistanidiot
11

To, co pomogło mi rozwiązać ten problem bez edytowania moich .emacsścieżek bezwzględnych (do czego nie chciałem, ponieważ udostępniam plik między różnymi systemami operacyjnymi), to instalacja ispell przez brew

brew install ispell --with-lang-en

jak wyjaśniono w tej odpowiedzi (i moim komentarzu).

metakermit
źródło
1

Jest to problem związany ze zmiennymi środowiskowymi. exec-path-from-shellPakiet ustalony ten problem dla mnie.

Po dokonaniu oceny (exec-path-from-shell-initialize), ispell zadziałało.

imadło
źródło
0

Nawet jeśli używasz brew tylko do instalacji ispell i zainstalowałeś emacsa z tego typu dmg i uruchamiasz emacsa z ikony w doku, będziesz chciał się wylogować i zalogować ponownie, ponieważ OS X buforuje elementy na twojej ścieżce i nie zobaczy natychmiast ispell. Jeśli te informacje nie są dla ciebie nowością, prawdopodobnie i tak możesz obejść ten problem.

mrbobfrog
źródło
0

Jestem pewien, że to już musi być rozwiązany problem, ale nadal chciałem dodać, że z powodzeniem używam ispell w Mac OS X. Instalacja ispell w homebrew, a następnie dodanie poprawnej ścieżki w .emacs (/ usr / local / bin) rozwiązane problem dla mnie.

pratim
źródło