본문 바로가기
프로그램 개발(분석, 설계, 코딩, 배포)/100. 기타

emacs30.2에 evil 설치 및 사용하기

by 3604 2026. 6. 16.
728x90
 
 
 
Emacs 30.2 환경에서는 use-package가 코어에 완벽히 정착했을 뿐만 아니라, 이전 버전의 버그들이 대거 수정되어 Evil 모드를 그 어느 때보다 부드럽고 가볍게 구동할 수 있습니다. [1, 2]
Emacs 30.2에서 불필요한 서드파티 패키지(예: undo-tree) 없이 내장 undo-redo 시스템과 부드러운 스크롤을 연동하여 Evil을 설치하고 사용하는 최적의 설정을 안내해 드립니다.

1. Emacs 30.2 최적화 Evil 설치 코드
설정 파일(~/.emacs.d/init.el 또는 ~/.emacs)을 열고 아래 코드를 붙여넣습니다.
lisp
;; 1. 패키지 저장소(MELPA) 설정
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org") t)
(package-initialize)

;; 2. 내장 use-package 최적화 활성화
(require 'use-package)
(setq use-package-always-ensure t) ; 없는 패키지 자동 다운로드

;; 3. Evil 모드 설정 (Emacs 30.2 맞춤형)
(use-package evil
  :init
  ;; [Emacs 30 중요] 내장된 신형 undo/redo 시스템을 Vim 스타일과 연동 (무겁고 버그 많은 undo-tree 대체)
  (setq evil-undo-system 'undo-redo)
  
  ;; Emacs 30의 향상된 픽셀 기반 부드러운 스크롤과 VI 스크롤 충돌 방지
  (setq evil-want-fine-undo t)
  :config
  ;; Emacs 시작 시 즉시 VI 환경(Normal Mode)으로 시작
  (evil-mode 1))

;; 4. Emacs 내부 특수 화면까지 VI 단축키로 제어 (강력 추천)
(use-package evil-collection
  :after evil
  :config
  (evil-collection-init))
코드를 사용할 때는 주의가 필요합니다.
 
2. 설정 즉시 반영하기
  1. 위 코드를 설정 파일에 저장합니다.
  2. 해당 창에서 M-x eval-buffer를 입력하고 엔터를 누르면, Emacs가 알아서 MELPA에서 패키지를 다운로드하고 Evil 환경을 구축합니다.
  3. 활성화되면 화면 좌측 하단에 <N> (Normal Mode) 혹은 현재 모드 표시가 나타납니다. [1]

3. Emacs 30 환경에서 Evil 100% 활용하기
이제 Emacs 내부에서 완벽한 VI(Vim) 환경을 누릴 수 있습니다. 가장 자주 쓰는 조작법과 단축키 연동은 다음과 같습니다. [1]
🌟 모드 전환 (Vim과 완전히 동일)
  • ESC 또는 C-[: 일반 모드(Normal Mode) — 커서 이동 및 명령어 입력 상태
  • i / a / o: 입력 모드(Insert Mode) — 텍스트 타이핑 상태
  • v / V: 비주얼 모드(Visual Mode) — 블록 및 드래그 영역 지정 상태
  • : (콜론): 하단 ex 명령줄 열기 (:w, :q 등 사용 가능)
🔄 되돌리기와 다시실행 (Emacs 30 내장 엔진)
Evil 설정에서 undo-redo 시스템을 지정했기 때문에 가장 순수하고 빠른 속도로 작동합니다.
  • u: 이전 작업 취소 (Undo)
  • C-r: 취소한 작업 다시 실행 (Redo)
🪟 창 분할 및 이동 (이전 대화 팁 연동) [1]
앞서 배운 Emacs의 창 조작을 이제 Vim 단축키로 훨씬 편하게 제어할 수 있습니다.
  • C-w s: 화면 가로 분할
  • C-w v: 화면 세로 분할
  • C-w h / j / k / l: 각각 좌 / 하 / 위 / 우측 창으로 포커스 이동
  • :q 또는 C-w c: 현재 열려있는 창(또는 탭) 닫기
728x90