개요
Emacs는 1976년 Richard Stallman이 개발한 강력한 텍스트 에디터. 단순 에디터를 넘어 Lisp 기반 확장 환경으로 개발·메일·터미널·오거나이저까지 통합 가능. Vim과 함께 터미널 에디터 양대 산맥.
- 개발: GNU Project (Stallman)
- 라이선스: GPL
- 언어: Emacs Lisp (elisp)
- 별칭: “운영체제처럼 쓰는 에디터”
기본 단축키
Emacs 단축키 표기: C = Ctrl, M = Alt(Meta)
기본 조작
| 단축키 | 기능 |
|---|
C-x C-f | 파일 열기 |
C-x C-s | 저장 |
C-x C-c | 종료 |
C-g | 명령 취소 |
C-x u | 실행 취소 |
커서 이동
| 단축키 | 기능 |
|---|
C-f / C-b | 앞/뒤 한 글자 |
M-f / M-b | 앞/뒤 한 단어 |
C-a / C-e | 줄 시작/끝 |
M-< / M-> | 파일 처음/끝 |
C-v / M-v | 페이지 아래/위 |
편집
| 단축키 | 기능 |
|---|
C-k | 줄 끝까지 잘라내기 |
C-y | 붙여넣기 (yank) |
M-w | 복사 |
C-w | 잘라내기 |
C-s | 검색 (isearch) |
버퍼 & 창
C-x b 버퍼 전환
C-x C-b 버퍼 목록
C-x k 버퍼 닫기
C-x 2 수평 분할
C-x 3 수직 분할
C-x o 다른 창으로 이동
C-x 1 현재 창만 남기기
주요 설정 (~/.emacs 또는 ~/.emacs.d/init.el)
;; 줄 번호 표시
(global-display-line-numbers-mode 1)
;; 탭 대신 스페이스
(setq-default indent-tabs-mode nil)
(setq-default tab-width 4)
;; 백업 파일 비활성화
(setq make-backup-files nil)
;; 테마
(load-theme 'wombat t)
;; 패키지 관리 (MELPA)
(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/"))
인기 패키지
| 패키지 | 기능 |
|---|
| Org-mode | 문서·할일·일정 관리 |
| Magit | Git 인터페이스 |
| LSP-mode | Language Server Protocol |
| Evil | Vim 키바인딩 에뮬레이션 |
| Helm / Ivy | 강력한 자동완성 |
| Company | 코드 자동완성 |
Vim vs Emacs
| 항목 | Vim | Emacs |
|---|
| 학습 곡선 | 가파름 | 매우 가파름 |
| 확장성 | Vimscript/Lua | Elisp (완전한 언어) |
| 기본 속도 | 빠름 | 상대적으로 무거움 |
| 모달 편집 | 핵심 | Evil 플러그인으로 구현 |
| 커뮤니티 | 대형 | 소형이지만 열정적 |
관련 항목