 ;; undo-tree
 ;;;;;;;;
 (require-if-not 'undo-tree)
-(global-undo-tree-mode)
-;; rxvt-unicode detects C-c C-/ as C-c C-_
-(define-key undo-tree-map (kbd "C-c C-/") 'undo-tree-redo)
-(define-key undo-tree-map (kbd "C-c C-_") 'undo-tree-redo)
-(setq undo-tree-auto-save-history nil)
+(with-eval-after-load "undo-tree"
+  (global-undo-tree-mode)
+  ;; rxvt-unicode detects C-c C-/ as C-c C-_
+  (define-key undo-tree-map (kbd "C-c C-/") 'undo-tree-redo)
+  (define-key undo-tree-map (kbd "C-c C-_") 'undo-tree-redo)
+  (setq undo-tree-auto-save-history nil))
 
 ;;;;;;;;
 ;; vue-mode

(add-hook 'rust-mode-hook
          (lambda ()
            (setq indent-tabs-mode nil)
            (lsp)))

;; Formatting is bound to C-c C-f.
;; The folowing enables automatic formatting on save.
(setq rust-format-on-save t)

;;;;;;;;
;; skk

;; skk-modeが有効になると、C-jがskk-kakutei-keyにバインドされる
;; 使用頻度の殆どないC-oにnewlineをバインドする
(add-hook 'skk-load-hook
          (lambda ()
             (progn
               (if (functionp 'electric-newline-and-maybe-indent)
                   (progn
