use-package 패키지로 패키지 관리를 더 간단하게
package 설치 코드와 추가 설정 코드를 따로 관리했다. 그러다 보니 init.el 파일 크기가 커져서 분리하고 분리하다 보니 관리 안 되고. 설치와 설정을 같은 코드 블럭으로 관리할 수 있는 use-package 패키지를 설치했다.
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/")
t)
(package-initialize)
(when (not (package-installed-p 'use-package))
(package-refresh-contents)
(package-install 'use-package))
melpa에서 use-package 패키지를 설치한다.
(use-package evil
:ensure t
:init
(setq evil-want-C-u-scroll t)
:config
(evil-mode t)
(evil-set-initial-state 'calendar-mode 'emacs)
(evil-set-initial-state 'calculator-mode 'emacs)
(evil-set-initial-state 'git-rebase-mode 'emacs)
(evil-set-initial-state 'magit-blame-mode 'emacs)
(setq-default evil-symbol-word-search t))
이런 식으로 사용. :ensure
키워드로 package가 로컬에 없을 때, 다운로드한다. :init
키워드는 패키지 로드 전에 실행할 코드에 사용하고 :config
키워드는 패키지 로드 후에 실행할 코드에 사용한다. 주로 이 세 가지 키워드를 사용한다. 더 많은 기능이 있으며 웬만한 건 use-package 패키지로 처리할 수 있을 것 같다.
init.el 파일이 더 읽기 쉽게 변했다. 만족.
C-x C-s C-x C-c