개요

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문서·할일·일정 관리
MagitGit 인터페이스
LSP-modeLanguage Server Protocol
EvilVim 키바인딩 에뮬레이션
Helm / Ivy강력한 자동완성
Company코드 자동완성

Vim vs Emacs

항목VimEmacs
학습 곡선가파름매우 가파름
확장성Vimscript/LuaElisp (완전한 언어)
기본 속도빠름상대적으로 무거움
모달 편집핵심Evil 플러그인으로 구현
커뮤니티대형소형이지만 열정적

관련 항목