Хто-небудь може мені сказати, як Emacs управляє цим, навіть із тисячами .el-файлів?
Emacs "управляє" тим, що не завантажуючи при запуску, тим самим не затримуючи завантаження основної програми. Це, в свою чергу, як ефект швидшого повернення контролю клавіатури користувачеві.
Але коли він завантажений? При першому використанні цієї функції, режиму чи функції.
Це не гальмує? Так, при першому використанні. Це компроміс. Ви хочете сповільнити час запуску Emacs або під час першого використання.
Це помітно? Здається, час завантаження триватиме більше часу, оскільки завантажуються й інші основні бібліотеки. Але при першому використанні він відчуває себе швидше, оскільки завантажується лише ця функція підмножини.
Тоді навіщо хтось підбирати навантаження при запуску? Оскільки деякі не проти чекати завантаження всіх часто використовуваних бібліотек під час запуску, тому щойно завантажені всі операції виконуються швидко після цього.
Як я можу вибрати? Як Дрю та інші вказали у своїх відповідях на це саме запитання, ви можете використовувати автозавантаження та подібні хитрощі для управління. Але найважливішим слід враховувати вашу схему використання. Якщо ви часто використовуєте emacs типу vi, постійно відкриваючись і закриваючись, так, час запуску стає болісно очевидним. Але з іншого боку, якщо ви використовуєте emacs, який працює весь час, час запуску 1 секунди або 1 хвилини не буде настільки помітним або досить важливим для догляду.
Зауважте, що ви можете використовувати пакетний режим або Zile для миттєвого запуску під час тестування, запуску чи використання інших програм emacs, таких як vi.
Я вважаю за краще завантажуватися при запуску, щоб будь-які помилки виявлялися наперед. Я вважаю за краще не стикатися з будь-якими помилками завантаження, коли в розпал робочого дня, коли у мене є незліченна кількість буферів, режимів і станів компіляції, а також декілька віддалених місць, якими керується TRAMP. Налагодження помилок автозавантаження в таких умовах не дуже приємно.
:defer t
у своїхuse-package
деклараціях, де це можливо?