jan*_*neb 3 emacs installation startup
像许多 emacs 用户一样,我有自己的 emacs 配置文件,~/.emacs.d/init.el
用于按照我喜欢的方式配置 emacs。因此,当我开始使用新机器时,我会将 emacs 配置文件复制到其中。现在的问题是我的 emacs 配置文件依赖于我通过 emacs 包管理器安装的一些包,但由于缺少包,我无法成功安装包。
我当然可以在没有配置文件 ( emacs -q
) 的情况下启动 emacs,但问题是只有默认存储库可用,所以我实际上无法安装我需要安装的包才能使用我的配置文件成功启动 emacs。
所以我通常做的就是暂时注释掉我的 emacs 配置文件中的内容,以便我能够成功安装软件包,然后我可以取消注释并使用完整配置重新启动 emacs。但这很麻烦,通常需要尝试几次才能注释掉所有需要的东西。当然一定有我缺少的更好的方法吗?
您可以做的就是声明您使用的包。然后添加一些每次打开 Emacs 时运行的代码。它检查该列表中的每个包是否已安装。如果不存在,则会安装它。
我的配置文件中的一个简单示例:
;; first, declare repositories
(setq package-archives
'(("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.org/packages/")))
;; Init the package facility
(require 'package)
(package-initialize)
;; (package-refresh-contents) ;; this line is commented
;; since refreshing packages is time-consuming and should be done on demand
;; Declare packages
(setq my-packages
'(cider
projectile
clojure-mode
expand-region
helm
jinja2-mode
magit
markdown-mode
paredit
wrap-region
yaml-mode
json-mode))
;; Iterate on packages and install missing ones
(dolist (pkg my-packages)
(unless (package-installed-p pkg)
(package-install pkg)))
Run Code Online (Sandbox Code Playgroud)
你很好。
归档时间: |
|
查看次数: |
2659 次 |
最近记录: |