gpt4 book ai didi

emacs - 使用 init.el 和包安装在新机器上设置 emacs

转载 作者:行者123 更新时间:2023-12-05 08:52:57 24 4
gpt4 key购买 nike

像许多 emacs 用户一样,我有自己的 emacs 配置文件 ~/.emacs.d/init.el 以我喜欢的方式配置 emacs。所以当我开始使用一台新机器时,我将我的 emacs 配置文件复制到它。现在,问题是我的 emacs 配置文件依赖于我通过 emacs 包管理器安装的几个包,但由于缺少包,我无法成功安装包。

我当然可以在没有我的配置文件(emacs -q)的情况下启动 emacs,但问题是只有默认的 repo 可用,所以我无法实际安装我需要安装的包为了使用我的配置文件成功启动 emacs。

所以我通常做的是临时注释掉我的 emacs 配置文件中的内容,以便我能够成功安装软件包,然后我可以取消注释并使用我的完整配置重新启动 emacs。但这很麻烦,在我注释掉所有需要的东西之前通常需要尝试几次。肯定有我想念的更好的方法吗?

最佳答案

您可以做的是声明您使用的包。然后添加一些每次打开 Emacs 时运行的代码。它会检查该列表中的每个包是否已安装。如果不是,它会安装它。

我的 config file 中的一个简单示例:

;; 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)))

你很好。

关于emacs - 使用 init.el 和包安装在新机器上设置 emacs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55038594/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com