Saya menggunakan struktur berikut untuk melacak paket dan file
~/.emacs.d
|-- elpa ;; Package.el packages
|-- hack ;; Development versions of packages (e.g. org, personal packages)
|-- single-lisp ;; Individual lisp files from outside sources (e.g. EmacsWiki)
|-- site-lisp ;; Lisp packages not managed by package.el (directories)
|-- user-config ;; Machine/situation specific customization (work vs home)
| `-- custom.el ;; Customization settings
|-- lisp ;; Individual .el files to keep init.el clean
| `-- defaults.el ;; Default configuration settings
`-- init.el
Saya kemudian gunakan use-package
untuk mengelola paket mana yang dimuat dan kustomisasi mana yang ditetapkan untuk setiap paket. Sebagian besar waktu hanya hack
dan elpa
memerlukan pembaruan, folder lain sering untuk paket satu kali yang ingin saya uji atau gunakan secara singkat tetapi tidak perlu memuat (bahkan diam-diam).
custom.el
adalah untuk pengaturan Kustomisasi, yang saya lebih suka tidak menggunakan (dan tidak versi bahkan jika saya menggunakan).
defaults.el
adalah untuk konfigurasi umum (menu-bar, font, encoding, dll) yang kemudian dapat ditimpa dalam file .el user-config/
untuk memungkinkan sistem yang akan berfungsi seperti yang saya harapkan, tetapi dapat disesuaikan agar sesuai dengan lingkungan.
Saya sebelumnya telah mencoba untuk menjaga functions
, macros
, advice
dalam paket terpisah untuk memungkinkan penggambaran antara konten, tapi ran dalam definisi / membutuhkan masalah sehingga telah menempatkan kembali mereka ke dalam init.el
. Mereka akhirnya dapat dimasukkan kembali ke ~/.emacs.d/lisp/
.
Saya mencoba untuk tetap init.el
rapi, mengurutkan konten berdasarkan fungsi dan tujuan sehingga menemukan lagi akan mudah. Saya sudah memiliki init.el
file monolitik dan terus menambahkan konten baru di akhir (atau di mana saya pikir itu cocok) dan kemudian akan berakhir tidak tahu apa yang telah saya tambahkan atau di mana saya telah menambahkannya ketika saya pergi untuk mencarinya (dan kadang-kadang pencarian menggunakan isearch
tidak membantu karena saya tidak ingat bagaimana saya menyebutkan sesuatu pada saat itu).