在更改主题和添加一些插件时,Emacs会减慢启动速度

时间:2010-01-10 10:17:58

标签: emacs startup

更改主题,添加插件和配置后4秒内Emacs是否正常延迟和闪烁? (Vim没有这样做。)

这是我的.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/plugins/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")))))

我能改进吗?

1 个答案:

答案 0 :(得分:3)

闪烁是正常的。通过字节编译elisp代码可以提高速度。为此,执行M-x byte-compile-file并给出.emacs的路径,然后对每个尚未进行字节编译的elisp目录执行C-u 0 M-x byte-recompile-directory(在您的情况下可能是yasnippet)。

重新启动Emacs并查看速度是否已增加。如果它仍然很慢,则在启动Emacs后切换到Messages缓冲区并查找

形式的消息
  

加载C:\ foo \ bar.el(来源)......   完成

如果“(source)”部分在这里,则字节编译C:\ foo目录。

还要记住,每次更改后都必须重新编译.emacs。