Mac 下给 Emacs 设置 PATH 和 exec-path

下午从 Zsh 迁移到 Fish,设置 PATH 的时候,顺便考虑了图形界面 Emacs,自己设置其实挺简单

  1. 导出 PATH~/.path

    ~ $ sh -c 'printf "%s" "$PATH"' > ~/.path
    
  2. 给 Emacs 设置 PATHexec-path

    (condition-case err
        (let ((path (with-temp-buffer
                      (insert-file-contents-literally "~/.path")
                      (buffer-string))))
          (setenv "PATH" path)
          (setq exec-path (append (parse-colon-path path) (list exec-directory))))
      (error (warn "%s" (error-message-string err))))
    

可以作为 exec-path-from-shell 的替代方案,相比后者,它

  • 功能单一
  • 实现简单
  • 不需要每次启动都调用 $SHELL,因此速度应该更快
3 个赞

迁移fish的原因是什么?