Saya memeriksa file konfigurasi saya dan ingin melakukan pembersihan.
Pemahaman saya with-eval-after-load
adalah bahwa tubuhnya akan dievaluasi segera setelah paket terkait dimuat. Sementara membersihkan file konfigurasi saya dan membaginya lebih lagi, saya ingin menyertakan setiap konfigurasi paket with-eval-after-load
. Semuanya berjalan seperti yang diharapkan sampai saya lampirkan konfigurasi untuk helm
dan helm-projectile
.
Inilah yang ada dalam pikiran saya ( lisp / init-helm.el ):
(with-eval-after-load 'helm
(setq helm-mode-line-string "")
(add-to-list 'helm-sources-using-default-as-input 'helm-source-man-pages)
(define-key global-map (kbd "C-c m") 'helm-imenu)
(define-key global-map (kbd "C-x b") 'helm-buffers-list))
(with-eval-after-load 'helm-command
(global-set-key (kbd "M-x") 'helm-M-x))
(with-eval-after-load 'helm-projectile
(helm-projectile-on))
Setelah memulai ulang Emacs, saya mendapatkan masalah ukuran jendela ini:
Ini adalah bagaimana saya mengubah ukuran jendela saya:
(set-frame-parameter nil 'fullscreen 'fullboth)
Saya kira saya menyalahgunakan with-eval-after-load
, bagaimana cara membersihkan konfigurasi Emacs-nya dan memastikan tidak ada yang rusak tidak peduli paket apa yang diinstal?
with-eval-after-load
untuk membungkus semua penyesuaian terkait paket saya satu kali. Kemudian saya melihat cahaya dan mulai menggunakannyause-package
.(package-initialize)
dan menggantinya dengan(require 'use-package)
tetapi saya akan mendapatkan kesalahan File: Tidak dapat membuka file, tidak ada file atau direktori, gunakan-paket ketika me-restart Emacs. Namun, begitu Emacs telah dimulai saya dapat mengevaluasi(require 'use-package)
tanpa masalah. Akhirnya, saya bahkan mencobawith-eval-after-load
, masih error yang sama. Readme tidak begitu jelas tentang cara menginstaluse-package
ketika menggunakan paket dari package.el..emacs
, sebaiknya versi stripped-down yang menunjukkan masalah dengan beberapa baris dan sesedikit mungkin paket eksternal. Ini mungkin ada hubungannya dengan pengaturan waktu bingkai vs beban paket selama startup . Tetapi tanpa melihat kode Anda, tidak banyak yang bisa kita lakukan. Juga beri tahu kami versi Emacs yang Anda gunakan.Jawaban:
Saya menggunakan
with-eval-after-load
banyak, sebagian besar untuk menambah atau menghapus elemen ke atau dari daftar setelah nilai default dievaluasi. Dengan begitu saya tidak perlu melacak perubahan dalam nilai default.Adapun masalah dengan
helm
inisialisasi Anda , dokumentasi merekomendasikan yang(require 'helm-config)
hadir dalaminit.el
dependensi Anda.Saya telah menemukan bahwa lebih mudah hanya membutuhkan
helm-config
selama inisialisasi daripada mengandalkanautoload
, terutama karena saya akan memuatnya hampir sebagian besar waktu.sumber
use-package
, dan bahkan ketika membutuhkanhelm-config
saya masih mendapatkan masalah yang sama. Berikut ini adalah konfigurasi konfigurasi saya yang diperbarui: bitbucket.org/angrybacon/dotemacs/src .Ternyata itu tidak ada hubungannya dengan
helm
inisialisasi (atau sedikit).Dalam pencarian saya yang kekal untuk mengoptimalkan waktu start-up Emacs, saya telah memindahkan semua hal terkait antarmuka di awal konfigurasi saya. Itu termasuk pseudo fullscreen yang saya gunakan.
Menempatkan baris yang sesuai sebelum salah satu lisp berat dimuat memperbaiki masalah saya.
Ini konfigurasi saya untuk referensi .
sumber