2011-08-02 20 views
7

Bir emacs paketi için kurulum talimatlarını her gördüğümde, her zaman add-to-list 'load-path kullanılmasını öneririm, asla benim için işe yaramıyor. Bazı nedenlerden dolayı load-file kullanmam gerekiyor.listeye ekle 'load-path işe yaramıyor

(add-to-list 'load-path "~/.emacs.d/jade-mode") 
(require 'sws-mode) 
(require 'jade-mode)  
(add-to-list 'auto-mode-alist '("\\.styl$" . sws-mode)) 
(add-to-list 'auto-mode-alist '("\\.jade$" . sws-mode)) 

ama bu çalışacaktır: Örneğin, bu neden çalışmaz

(load-file "~/.emacs.d/jade-mode/sws-mode.el") 
(load-file "~/.emacs.d/jade-mode/jade-mode.el") 
(require 'sws-mode) 
(require 'jade-mode)  

Biri bana söyleyebilir? DÜZENLEME: MAC OS X 10.5

+0

"işe yaramıyor", nasıl başarısız oluyor? 'Need' çağrıları başarısız mı? – seh

+0

Her ifadeyi eval-buffer veya eval-expression ile değerlendirdiniz mi? Ya da içine koy. Emacs dosyası daha sonra kaydedip yeniden başlatılacak mı? – justinhj

cevap

8

üzerine Karbon Emacs kullanmak Belki sorun lider tilde ('~') ne zaman require Aramaları load-path listesinde girdileri genişletilmediğinde olmasıdır. require tarafından daha sonraki kullanım için girişinizi hazırlamak için the expand-file-name function kullanmayı düşünün:

(add-to-list 'load-path (expand-file-name "jademode" "~/.emacs.d")) 

veya

(add-to-list 'load-path (expand-file-name "~/.emacs.d/jademode")) 

Size hangi işletim sistemine kullandığınız Emacs'ta olduğunu bilmek yardımcı olacaktır.

+0

evet, yük yoluna eklerken geniş dosya adını kullanmanız gerekir. – jtahlborn

1

i% 100 emin değilim ama liste örneği değil tahmin ediyorum ve böylece yük yolu listesine şey eklemek olamaz ben sadece

(setq load-path (cons (expand-file-name "~/.emacs.d/lisp") 
       load-path)) 
0

listeyi örneğini ilk cevap benim için çalışmadı. Tek tek .el dosyaları değil, dizin yolunun eklenmesi, benim için çalıştı, yani: (listeye ekle 'load-path (dosya adı-dosya adı "~/.emacs.d"))

+1

Haklısınız; ama ** hiç kimse **, yük yoluna bireysel .el dosyaları eklemeyi önerdi. Cevabınız kabul edilen cevaptan farklı değil. Ayrıca, [~/.emacs.d yük yoluna koyma] (http://stackoverflow.com/a/24791753/324105). – phils

+0

Yanlış anladım. Jademode jademode.el olduğunu sanıyordum ama sanırım bir dizin adı. Ve diğer makaleye referans için teşekkür ederim. –

+0

Ah, bunu açıklıyor. Hayır, 'load-path' yalnızca dizinlerdir. Karmaşıklığın kaynağı, belirli bir kitaplığı yüklediğinizde, uzantıyı (ve genellikle) çıkarmanız ve Emacs'in hangisini kullanacağını seçmesini sağlayabilirsiniz. – phils

İlgili konular