
Singkat cerita, saya menyampaikan Emacs untuk pekerjaan sehari -hari saya, jadi saya membutuhkan konfigurasi yang cepat dan stabil yang sesuai dengan kebutuhan saya. Minemacs terus berubah, silakan merujuk ke log perubahan untuk informasi lebih lanjut. Lihat juga daftar modul dan paket Minemacs.
Catatan
Harap dicatat bahwa saya tidak memiliki niat atau ketersediaan untuk membuat alternatif untuk Doom Emacs atau Spacemacs. Sementara saya menemukan kegembiraan (seperti setiap emacser lainnya di luar sana) dalam bermain -main dengan Emacs, Minemacs tetap hanya alat yang saya gunakan dalam pekerjaan sehari -hari saya, dan bahwa saya ingin berbagi dengan Emacser lainnya.
Minemacs disertakan dengan baterai. Berikut beberapa fitur uniknya:
Tunda Paket Memuat sampai Pengguna membutuhkannya. Atau, untuk paket yang perlu dimuat, cobalah untuk melakukannya setelah memulai Emacs.
Paket dikelompokkan dalam modul, dengan sedikit lem untuk membuatnya bekerja bersama.
Minemacs mencakup sejumlah besar mode utama dan paket untuk bekerja dengan bahasa pemrograman. Namun, sebagian besar paket ini tidak dimuat saat startup. Minemacs menggunakan sistem sesuai permintaan untuk memuat paket hanya ketika pengguna membuka file yang didukung, atau ketika ia membuka buffer dengan mode yang dapat diperpanjang oleh salah satu modul on-demand. Perilaku fitur ini disesuaikan melalui minemacs-on-demand-enable-auto-mode , minemacs-on-demand-enable-magic-mode , minemacs-on-demand-enable-interpreter-mode dan minemacs-on-demand-enable-companion-packages .
Buka shell dan jalankan:
git clone --recursive https://github.com/abougouffa/minemacs.git ~ /.emacs.d && emacs Dengan mengeksekusi perintah ini, repositori akan dikloning, dan Emacs akan diluncurkan. Selama menjalankan awal, Emacs akan secara otomatis menginstal paket yang diperlukan. Anda mungkin perlu menjalankan Mx minemacs-run-build-functions ketika Emacs memuat untuk menginstal beberapa barang tambahan (membangun beberapa perpustakaan, menginstal font nerd, dll.)
Penting
Harap dicatat bahwa saya menggunakan Emacs 30.0.92 yang segar (versi yang disarankan) yang dibangun dari cabang emacs-30 terutama pada dua mesin, satu berdasarkan Manjaro Linux dan yang lainnya di Debian 12. Namun, saya telah mengatur beberapa tindakan GitHub CI yang secara otomatis menguji konfigurasi ini pada EMAC 29, 30 dan 31 di Ubuntu Linux dan MacOS secara otomatis. Tindakan ini memastikan bahwa Minemacs "dapat dijalankan" pada sistem ini; dengan semua modul diaktifkan. Namun, pengujian lebih lanjut harus dilakukan untuk memvalidasi konfigurasi secara keseluruhan secara keseluruhan pada sistem selain Linux.
Untuk mempersonalisasi Minemacs, Anda dapat menambahkan satu set file tertentu dalam direktori konfigurasi pengguna default, yang terletak secara default di ~/.minemacs.d/ atau .emacs.d/user-config/ (yang pertama ditemukan). Namun, jika Anda lebih suka menggunakan direktori yang berbeda, Anda memiliki fleksibilitas untuk melakukannya dengan mengatur variabel lingkungan MINEMACSDIR .
Ada dua file utama yang dapat ditambahkan di direktori ~/.minemacs.d :
~/.minemacs.d/modules.el berisi daftar modul yang diaktifkan dan/atau daftar paket yang dinonaktifkan ( minemacs-modules dan minemacs-disabled-packages dapat diatur dalam file ini). Jadi, jika Anda ingin mengaktifkan modul ( mis. me-prog ) tetapi Anda perlu mengecualikan paket tertentu ( ex. ts-movement ), Anda dapat menambahkan yang terakhir ke minemacs-disabled-packages .~/.minemacs.d/config.el berisi konfigurasi dan kustomisasi pengguna, Anda dapat menganggapnya sebagai init.el Anda, yang dimuat di akhir init.el Minemacs! Repositori ini berisi file kerangka untuk modules.el dan config.el (di bawah skel/ ). Kami sangat merekomendasikan mengikuti struktur yang sama seperti pada file kerangka, khususnya penggunaan with-eval-after-load dan use-package alih-alih menggunakan require secara langsung ( require beban paket segera, yang meningkatkan waktu startup Emac).
Dalam alur kerja saya, saya terutama menggunakan file konfigurasi yang sama di semua mesin saya (yang, mengikuti tradisi, dibagikan di repositori dotfiles saya). Namun, saya memiliki beberapa konfigurasi spesifik mesin (lokal) yang berisi beberapa konfigurasi pribadi dan spesifik mesin. Misalnya, saya menggunakannya untuk menimpa alamat email di workstation saya, untuk mengatur akun email saya, untuk mengatur forge dan integrasi jira di workstation saya, dan sebagainya.
Untuk tujuan ini, Minemacs juga akan memeriksa file di ~/.minemacs.d/local/{early-config,init-tweaks,modules,config}.el dan muat, setelah ~/.minemacs.d/{early-config,init-tweaks,modules,config}.el jika mereka dikeluarkan.
Minemacs juga menyediakan beberapa file kustomisasi canggih, file -file ini dapat digunakan untuk mengubah perilaku Minemacs, menambahkan beberapa kode inisialisasi awal, membuat Minemacs dapat dijalankan pada versi Emacs yang lebih lama, dll.
~/.minemacs.d/early-config.el early-init.el Anda dapat menggunakannya untuk mengatur beberapa hal awal seperti mengutak-atik UI, menimpa variabel yang ditetapkan oleh Minemacs di ~/.emacs.d/early-init.el , dan sebagainya.~/.minemacs.d/init-tweaks.el dimuat pada tahap awal file init.el Anda dapat menggunakannya untuk melakukan beberapa hal yang berguna sebelum Minemacs mulai menyesuaikan paket dan memuat modul. Lihat komentar di init.el untuk informasi lebih lanjut.Anda dapat menyesuaikan perilaku Minemacs melalui beberapa variabel lingkungan.
MINEMACS_DIR atau MINEMACSDIR : jalur untuk direktori konfigurasi pengguna minemacs, jika tidak diatur, ~/.minemacs.d/ digunakan.MINEMACS_MSG_LEVEL : ubah level log pesan, dari 1 (hanya kesalahan) menjadi 4 (semua pesan).MINEMACS_VERBOSE : Jadilah lebih verbose (berguna untuk debugging).MINEMACS_DEBUG : Aktifkan debugging saat startup (dan jadilah verbose).MINEMACS_ALPHA : Tetapkan background-alpha ke persentase (nilai dari 0 hingga 100).MINEMACS_NOT_LAZY : Muat paket malas segera setelah memuat Emacs.MINEMACS_ALWAYS_DEMAND : Muat semua paket segera (ini berfungsi dengan menetapkan use-package-always-demand ke t dan use-package-always-defer ke nil (secara default, Minemacs menetapkan use-package untuk selalu menunda, kecuali jika eksplisit :demand ditambahkan).MINEMACS_IGNORE_USER_CONFIG : nilai-nilai yang dipisahkan ruang, digunakan untuk menonaktifkan pemuatan ~/.minemacs.d/<file>.el file konfigurasi pengguna. Nilai yang Diterima untuk <file> adalah: early-config , init-tweaks , modules , config , local/early-config , local/init-tweaks , local/modules dan local/config . Gunakan all untuk menonaktifkan semua file konfigurasi pengguna.MINEMACS_LOAD_ALL_MODULES : Muat semua modul (tanpa mengambil ~/.minemacs.d/modules.el ke akun).MINEMACS_BENCHMARK : Jalankan tolok ukur pada inisialisasi EMAC (menggunakan benchmark-init.el ) dan tampilkan hasilnya setelah startup (termasuk paket malas).MINEMACS_NO_PROXIES : Setel jika Anda memiliki pengaturan minemacs-proxies di early-config.el Anda tetapi Anda ingin memulai Emac tanpa melewati proxy ini (berguna jika Anda menggunakan beberapa proksi untuk tempat kerja tetapi Anda ingin Emacs memulai tanpa melewati mereka untuk dapat mengunduh paket). Untuk informasi lebih lanjut tentang variabel kustomisasi, fungsi dan perintah yang ditentukan oleh Minemacs, Anda dapat merujuk pada dokumentasi yang dihasilkan dari kode sumber.
Jika Anda mengalami masalah dengan Minemacs, Anda dapat melihat FAQ, berkonsultasi dengan diskusi, memeriksa masalah terbuka atau membuka yang baru.