オンラインでEmacsのデフォルトパスにパスを追加する例を見ました:
(add-to-list 'exec-path "/usr/local/bin/")
私はElispが初めてで、上記の声明が何をするのか理解していますが、いくつか質問があります。
ではどのような順序 Emacsは実行パスを検索しますか?例えば、
$PATH
(env。variable)の値をまったく考慮しますか(もしそうなら、その前後にexec-path
?)このようなパスを複数追加するにはどうすればよいですか?それらを連結し続けることはできますか?例えば
(add-to-list 'exec-path "PATH1", "PATH2")
または私はすべきか:
(add-to-list 'exec-path "PATH1:PATH2:PATH3")
また、GitHubでこの興味深いパッケージexec-path-from-shellを見つけました。なぜこれのためのパッケージが必要なのですか?
動機
コマンドがシェルで機能するが、Emacsでは機能しないことを発見したことはありませんか?
これは、GUIから起動されたEmacsインスタンスが環境変数のデフォルトセットを継承するOS Xで頻繁に発生します。
このライブラリは、重要な環境変数をユーザーのシェルからコピーすることでこの問題を解決します。目的の変数を出力するようシェルに要求し、Emacs環境にコピーすることで機能します。
C-h v exec-path
、マニュアル(EmacsおよびElisp)を使用します。マニュアルでi exec-path
は、役立つ説明が表示されます。最初にEmacsに聞いてください -申し訳ありません。
(describe-function 'add-to-list)
(C-h f
)は、add-to-list
関数のドキュメントとソースへのリンクを提供します。(describe-variable 'exec-path)
(C-h v
)もあります。これはRTFMのコメントを意図したものではありません。これらのドキュメントは、リストしたすべての質問に答えているわけではなく、役に立つものです。