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-packageuntuk mengelola paket mana yang dimuat dan kustomisasi mana yang ditetapkan untuk setiap paket. Sebagian besar waktu hanya hackdan elpamemerlukan 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.eladalah 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, advicedalam 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.elrapi, mengurutkan konten berdasarkan fungsi dan tujuan sehingga menemukan lagi akan mudah. Saya sudah memiliki init.elfile 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 isearchtidak membantu karena saya tidak ingat bagaimana saya menyebutkan sesuatu pada saat itu).