Saya telah memutuskan untuk memeriksa Emacs, dan saya sangat menyukainya. Sekarang, saya menggunakan Emacs Starter Kit , yang menyediakan default yang lebih baik dan beberapa penyesuaian yang bagus untuk menginstal Emacs secara default.
Saya telah menyesuaikannya sedikit, menambahkan beberapa hal seperti yasnippet , tema warna , tidak terikat , dan hal-hal lainnya. Saya telah menyiapkan repositori github tempat saya menyimpan semua kustomisasi sehingga saya dapat mengaksesnya dari berbagai tempat atau jika terjadi masalah dan saya kehilangan direktori .emacs.d saya.
Semua ini sangat bagus, tetapi ada masalah: Emacs membutuhkan sekitar 1-2 detik untuk memuat. AFAIK Saya dapat mengkompilasi file .el individu dengan Mx byte-compile-file ke .elc, dan berhasil. Tetapi ada banyak sekali file .el, dan saya ingin tahu apakah ada cara untuk mengkompilasi semuanya dengan perintah sederhana atau semacamnya, untuk mempercepat pemuatan Emacs. Emacs saya tidak selalu terbuka, dan saya cukup sering membuka dan menutupnya, terutama setelah saya mengaturnya sebagai editor default untuk perintah edit di Total Commander agar terbiasa dengan lebih cepat (ya, windows xp di sini).
Versi Emacs saya adalah 22.3. Dan ya, penginstalan Emacs default tanpa penyesuaian apa pun akan langsung aktif.
Saya tidak yakin versi mana yang lebih disukai saat memuat, .el atau mengompilasi .elc satu dengan cara Oo
Jadi, apakah ada perintah elisp atau saklar baris perintah Emacs untuk membuat Emacs byte-compile semuanya di direktori .emacs.d?
C-u 0
(aliasC-0
, BTW). Itu hanya akan mengompilasi byte file sumber yang lebih baru daripada versi yang dikompilasi byte-nya.FORCE
untuk mengkompilasi ulang file yang sudah memiliki ".elc" terkait meskipun tidak lebih lama dari file sumber:M-: (byte-recompile-directory "/the/directory/" 0 t)
Untuk mengkompilasi byte secara otomatis semua yang membutuhkan kompilasi byte setiap kali saya memulai emacs, saya meletakkan yang berikut ini setelah perubahan saya ke
load-path
bagian atas.emacs
file saya :(byte-recompile-directory (expand-file-name "~/.emacs.d") 0)
Anehnya, itu tidak menambah banyak waktu startup saya (kecuali ada sesuatu yang perlu dikompilasi).
Untuk mempercepat emacs saya, pertama-tama saya mengidentifikasi bagian-bagian yang lambat menggunakan profile-dotemacs.el dan kemudian menggantinya dengan autoloads .
sumber
Anda dapat menggunakan
--batch
bendera untuk mengkompilasi ulang dari baris perintah.Untuk mengkompilasi ulang semua, lakukan
emacs --batch --eval '(byte-recompile-directory "~/.emacs.d")'
atau untuk mengkompilasi ulang satu file sebagai dari Makefile,
emacs --batch --eval '(byte-compile-file "your-elisp-file.el")'
sumber
emacs -Q --batch -f batch-byte-compile *.el foo/*.el
- itu tidak muncul kembali seperti byte-recompile-directory .Ini sedikit bergoyang dari pertanyaan, tetapi untuk mengatasi masalah memuat dengan lambat Anda dapat menggunakan fitur daemon baru di Emacs 23.
Dari http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html
sumber
Untuk saya yang menggunakan spacemacs, perintahnya adalah
spacemacs/recompile-elpa
. Perintahbyte-recompile-directory
tidak mengkompilasi file apa pun.sumber
Perintah yang saya gunakan adalah
M-x byte-force-recompile RET
, lalu menanyakan direktori, jadi, misalnya, saya berikan~/.emacs.d/elpa/
. Itu kemudian mengkompilasi ulang semua yang ada di sana, biasanya tidak perlu menghapus.elc
file terlebih dahulu atau mengacaukannya dengan cara lain.sumber