Saya telah melihat contoh online di mana orang menambahkan jalur ke jalur default di Emacs dengan:
(add-to-list 'exec-path "/usr/local/bin/")
Saya baru mengenal Elisp, dan saya pikir saya mengerti apa yang dilakukan pernyataan di atas, tetapi saya punya beberapa pertanyaan:
Dalam urutan apa Emacs mencari melalui jalur eksekusi? Misalnya, apakah ia menganggap nilai
$PATH
(variabel env) sama sekali (dan jika ya, sebelum atau sesudahexec-path
?)Bagaimana saya bisa menambahkan beberapa jalur seperti itu? Bisakah saya terus menyatukan mereka? misalnya
(add-to-list 'exec-path "PATH1", "PATH2")
atau yang harus saya lakukan:
(add-to-list 'exec-path "PATH1:PATH2:PATH3")
Saya juga menemukan paket menarik ini di GitHub: exec-path-from-shell . Mengapa ada kebutuhan untuk paket untuk ini?
Motivasi
Pernah menemukan bahwa perintah bekerja di shell Anda, tetapi tidak di Emacs?
Ini banyak terjadi pada OS X, di mana instance Emacs dimulai dari GUI mewarisi serangkaian variabel lingkungan default.
Pustaka ini berfungsi memecahkan masalah ini dengan menyalin variabel lingkungan penting dari shell pengguna: ia bekerja dengan meminta shell Anda untuk mencetak variabel yang diminati, lalu menyalinnya ke lingkungan Emacs.
C-h v exec-path
, gunakan manual (Emacs dan Elisp). Dalam manual, i exec-path
mengarahkan Anda ke penjelasan yang bermanfaat. Tanyakan Emacs dulu - Anda tidak akan menyesal melakukannya.
(describe-function 'add-to-list)
(C-h f
) akan memberi Anda dokumen untukadd-to-list
fungsi tersebut, serta tautan ke sumbernya. Ada juga(describe-variable 'exec-path)
(C-h v
). Ini tidak dimaksudkan untuk menjadi komentar RTFM - dokumen ini tidak menjawab semua pertanyaan yang Anda daftarkan, hanya sesuatu yang bermanfaat.