Emacs slow startup when changing theme and adding some plugins
Is it normal form Emacs to delay and flash during 4 seconds after changing theme, adding plugins and configuration? (this doesn't happened with Vim).
Here is my .emacs:
;; set tab width
;; turn on tabs
(setq indent-tabs-mode t)
(setq-default indent-tabs-mode t)
;; bind the tab key
(global-set-key (kbd "TAB") 'self-insert-command)
;; set the tab width
(setq default-tab-width 4)
(setq tab-width 4)
(setq c-basic-indent 4)
;; set open recent files
(require 'recentf)
(recentf-mode 1)
(setq recentf-max-menu-items 25)
(global-set-key "\C-x\ \C-r" 'recentf-open-files)
;; set yasnippet
(add-to-list 'load-path "D:/Program Files/emacs-23.1/site-lisp/plugin开发者_高级运维s/yasnippet-0.6.1c")
(require 'yasnippet)
(yas/initialize)
(yas/load-directory "D:/Program Files/emacs-23.1/site-lisp/plugins/yasnippet-0.6.1c/snippets")
;; set yasnippet dropdown prompt
(setq yas/prompt-functions '(yas/dropdown-prompt))
;; set yasnippet no indent
(setq yas/indent-line 'none)
;; same syntax hightlight for all languages
(global-font-lock-mode 1)
;; remove bold
(mapc
(lambda (face)
(when (eq (face-attribute face :weight) 'bold)
(set-face-attribute face nil :weight 'normal)))
(face-list))
;; set color theme
(require 'color-theme)
(color-theme-initialize)
(color-theme-charcoal-black)
;; set line number
(global-linum-mode 1)
;; set the highlight current line minor mode
;; in every buffer, the line which contains the cursor will be fully
;; highlighted
(global-hl-line-mode 1)
;; prevent emacs from making backup files
(setq make-backup-files nil)
;; default
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(tool-bar-mode nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :background "SystemWindow" :foreground "SystemWindowText" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 98 :width normal :foundry "outline" :family "Monaco")))))
Can I improve this?
Flashing is normal. Speed can be improved by byte-compiling your elisp code. For that, do M-x byte-compile-file
and give path to your .emacs, then do C-u 0 M-x byte-recompile-directory
for every elisp directory that is not already byte-compiled (probably yasnippet in your case).
Restart Emacs and see if the speed has increased. If it is still slow, after starting Emacs switch to Messages buffer and look for messages in the form
Loading C:\foo\bar.el (source) ... done
If the "(source)" part is here, byte-compile C:\foo directory too.
Also remember that you have to recompile .emacs after every change to it.
精彩评论