Çevrimiçi olarak insanların Emacs'taki varsayılan yola yol eklediği örnekleri gördüm:
(add-to-list 'exec-path "/usr/local/bin/")
Elisp için yeniyim ve yukarıdaki ifadenin ne yaptığını anladığımı düşünüyorum, ancak birkaç sorum var:
Gelen hangi sırayla Emacs yürütme yolları arasında arama geliyor? Örneğin,
$PATH
(env. Değişkeni) değerini hiç düşünüyor mu (ve eğer öyleyse, önceexec-path
mi , sonra mı?)Böyle birden fazla yolu nasıl hazırlayabilirim ? Onları birleştirmeye devam edebilir miyim? Örneğin
(add-to-list 'exec-path "PATH1", "PATH2")
ya da yapmalı mıyım:
(add-to-list 'exec-path "PATH1:PATH2:PATH3")
Bu ilginç paketi GitHub'da da buldum: exec-path-from-shell . Bunun için bir pakete neden ihtiyaç var?
Motivasyon
Hiç bir komutun kabuğunuzda çalıştığını ama Emacs'ta olmadığını gördünüz mü?
Bu, OS X'de çok olur, burada bir Emacs örneği GUI'den başlatılır, varsayılan bir ortam değişkenleri devralınır.
Bu kütüphane çalışması, önemli çevre değişkenlerini kullanıcının kabuğundan kopyalayarak bu sorunu çözer: Kabuğunuzdan ilgilenilen değişkenleri yazdırmasını ve ardından bunları Emacs ortamına kopyalamasını isteyerek çalışır.
C-h v exec-path
, el kitaplarını (Emacs ve Elisp) kullanın. Bir el kitabında, i exec-path
sizi yararlı bir açıklamaya yönlendirir. Önce Emacs'a sor - yaptığın için üzgün olmayacaksın.
(describe-function 'add-to-list)
(C-h f
)add-to-list
fonksiyon için dokümanı ve kaynağa bağları verir. Ayrıca(describe-variable 'exec-path)
(C-h v
) var. Bu bir RTFM yorumu olması anlamına gelmez - bu dokümanlar listelediğiniz tüm sorulara cevap vermez, sadece yararlı bir şeydir.