fnwiya's quine

自分自身を出力するブログ

emacsの起動高速化tips(init時に必要ない標準機能系の設定は全部emacs-startup-hookにする)

外部パッケージはuse-packageなどで遅延ロードができるのですが、
標準機能はそうもいきません。
そこでまとめてemacs-startup-hookに引っかけるようにすると、
emacsを立ち上げる際にはloadされず、
init後に読み込まれるので起動を高速化できます。

(add-hook 'emacs-startup-hook (lambda ()
;;;クライアントを終了するとき終了するかどうかを聞かない
(remove-hook 'kill-buffer-query-functions 'server-kill-buffer-query-function)

;;; symlinkは必ず追いかける
(setq vc-follow-symlinks t)

;; 警告音もフラッシュも全て無効
(setq ring-bell-function 'ignore)

;;; カーソルの場所を保存する
(setq-default save-place t)
(setq save-place-file "~/.emacs.d/cache/places")


;;; 同じ内容を履歴に記録しないようにする
(setq history-delete-duplicates t)

;;; 履歴をたくさん保存する
(setq history-length 1000)

;; 最後に改行を追加
(setq require-final-newline t)

;; バッファ自動再読み込み
(global-auto-revert-mode 1)

(require 'server)
(unless (server-running-p)
  (server-start))

;;; デフォルトのタブ幅を 4 に設定
(setq-default tab-width 4)
(setq-default indent-tabs-mode nil)

;; M-wやC-kでコピーしたものを、他のアプルケーションで貼り付け可能にする
(cond (window-system
       (setq x-select-enable-clipboard t)))

;; 矩形選択
(cua-mode t)
))