
长话短说,我正在为日常工作的Emacs传达,所以我需要一种适合我需求的快速稳定配置。 Minemacs正在不断变化,请参考更改日志以获取更多信息。另请参阅Minemacs的模块和软件包列表。
笔记
请注意,我没有意图或可用性来创建末日emacs或spacemacs的替代方案。虽然我在修补emacs中找到了喜悦(就像其他emacser一样),但Minemacs仍然是我在日常工作中使用的工具,并且我喜欢与其他emacsers分享。
Minemacs附带包括电池。这是其独特功能:
推迟加载软件包,直到用户需要它们。或者,对于需要加载的软件包,请在启动Emacs后尝试执行此操作。
这些软件包分组为模块,并带有一点胶水使它们一起工作。
Minemacs包括大量的主要模型和包装,可以使用编程语言。但是,这些软件包中的大多数没有在启动时加载。 Minemacs仅在用户打开受支持的文件时,或者他打开一个模式的缓冲区时,使用按需系统加载软件包,该模式可以通过一个按需模块扩展。此功能是通过minemacs-on-demand-enable-auto-mode定制的, minemacs-on-demand-enable-magic-mode以及minemacs-on-demand-enable-interpreter-mode minemacs-on-demand-enable-companion-packages 。
打开外壳并运行:
git clone --recursive https://github.com/abougouffa/minemacs.git ~ /.emacs.d && emacs通过执行此命令,将克隆存储库,并将启动EMAC。在初始运行期间,Emacs将自动安装必要的软件包。当Emacs加载以安装一些额外的内容时,您可能需要运行Mx minemacs-run-build-functions (构建一些库,安装书呆子字体等)
重要的
请注意,我使用的是由emacs-30分支建造的新鲜EMACS 30.0.92 (推荐版本),主要是在两台机器上,一台基于Manjaro Linux,另一台基于Debian 12。但是,我已经在Ubuntu Linux和Macos和MacOS和MACOS和MACOS和MACOS和MACOS和MACOS和MACOS和AMSACS上自动设置了一些基本的GitHub CI CI操作,这些操作自动测试了此配置。这些动作确保了这些系统上的Minemacs“可以运行”。启用了所有模块。但是,应进行进一步的测试,以正确验证整个在Linux以外的系统上的配置。
要个性化MineMacs,您可以在默认的用户配置目录中添加一组特定的文件,该目录默认位于~/.minemacs.d/ or .emacs.d/user-config/ (第一个找到)。但是,如果您希望使用其他目录,则可以通过设置MINEMACSDIR环境变量来灵活地这样做。
可以在~/.minemacs.d目录中添加两个主要文件:
~/.minemacs.d/modules.el文件包含启用模块和/或禁用软件包列表(可以在此文件中设置minemacs-modules和minemacs-disabled-packages )。因此,如果要启用一个模块( Ex。ME me-prog ),但是需要排除特定的软件包(例如ts-movement ),则可以将后者添加到minemacs-disabled-packages中。~/.minemacs.d/config.el文件包含用户配置和自定义,您可以将其视为您的init.el ,它在Minemacs的init.el的末尾加载!该存储库包含用于模块的骨架文件modules.el和config.el (在skel/ )中。我们强烈建议遵循与骨架文件中相同的结构,特别是使用with-eval-after-load和use-package而不是直接使用require ( require立即加载软件包,这会增加emacs的启动时间)。
在我的工作流程中,我主要在所有机器上使用相同的配置文件(遵循传统,在我的Dotfiles存储库中共享)。但是,我有一些机器特定的(本地)配置,其中包含一些私人和机器特定的配置。例如,我用它们来覆盖工作站上的电子邮件地址,设置我的电子邮件帐户,在工作站中设置Forge和Jira集成等等。
为此,MineMacs还将检查~/.minemacs.d/local/{early-config,init-tweaks,modules,config}.el并加载它们的文件,并在~/.minemacs.d/{early-config,init-tweaks,modules,config}.el if nevem evem evelstast。
MineMacs还提供了一些高级自定义文件,这些文件可用于调整Minemacs的行为,添加一些早期初始化代码,使Minemacs在较旧的Emacs版本上运行,等等。
~/.minemacs.d/early-config.el文件已在Minemacs的early-init.el结束时加载。您可以使用它来设置一些早期的内容,例如调整UI,覆盖Minemacs在~/.emacs.d/early-init.el中设置的变量,等等。~/.minemacs.d/init-tweaks.el文件已在init.el文件的早期阶段加载。您可以在Minemacs开始自定义软件包和加载模块之前使用它来做一些有用的事情。有关更多信息,请参见init.el中的评论。您可以通过某些环境变量自定义Minemacs的行为。
MINEMACS_DIR或MINEMACSDIR :MineMacs用户配置目录(如果未设置)的路径,则使用~/.minemacs.d/ 。MINEMACS_MSG_LEVEL :更改消息日志级别,从1(仅错误)到4(所有消息)。MINEMACS_VERBOSE :更详细(可用于调试)。MINEMACS_DEBUG :在启动时启用调试(和冗长)。MINEMACS_ALPHA :将框架background-alpha设置为百分比(值为0到100)。MINEMACS_NOT_LAZY :加载emacs后立即加载懒惰软件包。MINEMACS_ALWAYS_DEMAND :立即加载所有软件包(这可以通过use-package-always-demand设置为t和use-package-always-defer do nil (默认情况下,MineMacs设置了use-package以始终延迟,除非露骨:explicit :demand是添加的)。MINEMACS_IGNORE_USER_CONFIG :空间分离的值,用于禁用加载~/.minemacs.d/<file>.el用户配置文件。 <file>的接受值是: early-config , init-tweaks , modules , config , local/early-config , local/init-tweaks , local/modules和local/config 。使用all禁用所有用户配置文件。MINEMACS_LOAD_ALL_MODULES :加载所有模块(无需考虑~/.minemacs.d/modules.el )。MINEMACS_BENCHMARK :在EMACS初始化(使用benchmark-init.el )的初始化时运行基准测试,并在启动后显示结果(包括懒惰软件包)。MINEMACS_NO_PROXIES :设置如果您在early-config.el中设置了minemacs-proxies设置,但是您想在不通过这些代理的情况下启动EMACS(如果您使用某些代理人在工作场所使用某些代理,但您希望Emacs都希望Emacs开始而无需启动,而无需传递它们即可下载包装)。 有关MineMacs定义的自定义变量,功能和命令的更多信息,您可以参考从源代码生成的文档。
如果您遇到了Minemacs的问题,则可以查看常见问题解答,咨询讨论,检查公开问题或打开新问题。