Bagaimana cara mengkonfigurasi Emacs untuk menggunakan 'ispell' di Mac OS X?

27

Saya menggunakan brewsebagai manajer paket saya untuk Emacs dan ispell. Saya telah menginstal keduanya. Melakukan google cepat, saya tidak dapat menemukan cara memberitahu Emacs di mana ispell dan memuat kamus yang sesuai.

Sekarang ketika saya melakukan M-x ispell-check-version, Emacs saucily menjawab: Searching for program: No such file or directory.

Bagaimana cara mengkonfigurasi Emacsuntuk digunakan ispell?

Avery Chan
sumber

Jawaban:

15

Variabel yang Anda cari adalah ispell-program-name. Barang ini di suatu tempat di Anda .emacs:

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

Atau gunakan M-x set-variable, dll.

Referensi:

  • Dari sumber ke 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)
    
  • Lihat juga: http://emacswiki.org/emacs/InteractiveSpell

Setiap kali Anda tidak dapat menemukan fungsi Emacs, ingat C-h f(atau variabel:) C-h v. Masuk ispellpada Describe functionprompt memberitahu Anda itu ispell is an interactive compiled Lisp function in 'ispell.el'., dan dari sana Anda biasanya dapat menemukan apa yang Anda cari.

ckhan
sumber
1
Jika Anda menggunakan set-variable untuk mengatur ispell-program-name, pastikan Anda memberikan tanda kutip ganda di sekitar nilai. Dalam kasus saya itu adalah "/ opt / local / bin / aspell"
Jistanidiot
11

Apa yang membantu saya menyelesaikan masalah ini tanpa mengedit .emacsjalur absolut saya (yang enggan saya lakukan, ketika saya berbagi file antara OS yang berbeda) sedang menginstal ispell via brew

brew install ispell --with-lang-en

seperti yang dijelaskan dalam jawaban ini (dan komentar saya).

metakermit
sumber
1

Ini adalah masalah variabel lingkungan. The exec-path-from-shellpaket tetap masalah ini bagi saya.

Setelah mengevaluasi (exec-path-from-shell-initialize), ispell berhasil.

ragum
sumber
0

Bahkan jika Anda menggunakan brew hanya untuk ispell instal dan telah menginstal emacs dari jenis dmg ini , dan Anda menjalankan emacs dari ikon di dock, Anda akan ingin logout dan login lagi, karena OS X cache item di jalur Anda dan tidak akan melihat ispell segera. Jika informasi ini bukan berita baru bagi Anda, Anda mungkin bisa menyelesaikan masalah ini.

mrbobfrog
sumber
0

Cukup yakin ini harus menjadi masalah yang diselesaikan sekarang, tetapi masih ingin menambahkan bahwa saya telah berhasil menggunakan ispell di Mac OS X. Menginstal ispell di homebrew dan kemudian menambahkan jalur yang benar di .emacs (/ usr / local / bin) diselesaikan masalah bagi saya.

pratim
sumber