
長話短說,我正在為日常工作的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 unsuntions (構建一些庫,安裝書呆子字體等)
重要的
請注意,我使用的是由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的問題,則可以查看常見問題解答,諮詢討論,檢查公開問題或打開新問題。