이 글은 Doom Emacs에서 개인적으로 자주 사용하는 혹은 인상적이지만 잘 까먹는 단축키를 정리한다. 일부 단축키는 별도의 글로 분리하는 경우도 있으니 하단 관련글 항목을 참고하자.
설정(Configuration) 관련
| 단축키 | 
설명 | 
기타 | 
SPC f p | 
설정 파일 열기(즉 ~/.doom.d에 있는 파일들 목록이 뜬다) | 
 | 
SPC h r r | 
설정 싱크(sync) 및 리로드(doom/reload) | 
 | 
파일, 프로젝트, 워크스페이스 관련
| 단축키 | 
설명 | 
기타 | 
SPC f f | 
파일 열기 | 
find-file | 
SPC . | 
현재 디렉토리에서 파일 열기 | 
생성하기도 가능 | 
SPC p p | 
프로젝트 전환 | 
워크스페이스가 없으면 생성 | 
SPC SPC | 
프로젝트 파일 열기 | 
 | 
SPC TAB . | 
워크스페이스(프로젝트) 목록 및 전환 | 
 | 
SPC TAB NUM | 
NUM 숫자에 해당하는 워크스페이스로 전환 | 
 | 
COMMAND NUM | 
NUM 숫자에 해당하는 워크스페이스로 전환 | 
Mac 전용 | 
버퍼(Buffer) 관련
| 단축키 | 
설명 | 
기타 | 
SPC , | 
워크스페이스(혹은 프로젝트) 버퍼 전환 | 
 | 
SPC b b | 
워크스페이스(혹은 프로젝트) 버퍼 전환 | 
 | 
SPC ` | 
동일 워크스페이스의 이전 버퍼로 전환 | 
 | 
SPC b B | 
버퍼 전환 | 
 | 
SPC b p | 
이전 버퍼로 전환 | 
 | 
SPC b n | 
다음 버퍼로 전환 | 
 | 
SPC p x | 
스크래치 버퍼를 작게 아래쪽에 띄우기 | 
 | 
창(Window)
참고로 Emacs에서 창(window)이란 하나의 윈도를 여러 pane으로 분할해서 쓰는 것을 의미하니 용어에 주의하자.
| 단축키 | 
설명 | 
기타 | 
SPC w s | 
창을 위아래로 나누기 | 
 | 
SPC w v | 
창을 좌우로 나누기 | 
 | 
SPC w w | 
다음 창으로 포커스(커서) 이동 | 
 | 
SPC w c 혹은 SPC w d | 
창 닫기. 창이 하나 뿐이면 프로젝트 단기 | 
 | 
SPC w j 혹은 SPC w k | 
아래쪽 창 혹은 윗쪽 창으로 이동하기 | 
 | 
SPC w h 혹은 SPC w l | 
왼쪽 창 혹은 오른쪽쪽 창으로 이동하기 | 
 | 
SPC w o | 
하나의 창을 많이 크게 만들기 | 
 | 
SPC w C-o | 
현재 창만 남기고 다른 창 닫기 | 
 | 
SPC w = | 
모든 창의 크기를 비슷하게 맞추기 | 
 | 
C-w C-w 혹은 C-x o | 
지정된 캐릭터의 윈도로 스위칭 | 
ace-window | 
창 이동은 Evil을 쓸 경우 C-w와 h, j, k, l을 조합하는 Vim 방식을 동일하게 사용할 수도 있다.
폴딩(Folding)
| 단축키 | 
설명 | 
기타 | 
z f | 
선택 영역 접기(폴딩) | 
 | 
z a | 
폴딩 토글하기 | 
 | 
z d | 
폴딩 제거하기 | 
코드 삭제 아님 | 
z E | 
모든 폴딩 제거 | 
 | 
z j | 
다음 폴딩으로 이동 | 
 | 
z k | 
이전 폴딩으로 이동 | 
 | 
셸(Shell) 혹은 터미널(Terminal)
템플릿(Snippets)
| 단축키 | 
설명 | 
기타 | 
SPC s / | 
스니펫 목록 및 검색하기 | 
 | 
검색(Search)
| 단축키 | 
설명 | 
기타 | 
SPC s p | 
프로젝트에서 검색(search in project) | 
 | 
SPC s d | 
디렉터리에서 검색(search in directory) | 
 | 
C-c C-o | 
검색 내용 버퍼를 별도의 창에 띄우기 | 
 | 
SPC ' | 
계속 검색 | 
ivy-resume | 
점프(Jump)
| 단축키 | 
설명 | 
기타 | 
t [character] | 
해당 문자로 점프 | 
evil-snipe | 
s [characters] | 
문자 완성 형식으로 해당 문자열로 점프 | 
evil-snipe | 
S [characters] | 
문자 완성 형식으로 해당 문자열로 역방향 점프 | 
evil-snipe | 
g s j | 
표시된 문자를 입력한 위치로 아래방향 점프 | 
evil-easymotion | 
g s k | 
표시된 문자를 입력한 위치로 아래방향 점프 | 
evil-easymotion | 
g s SPC | 
키보드로 입력하는 글자 위치로 점프 | 
avy | 
멀티 커서(Multiple Cursors) - evil-multiedit
| 단축키 | 
설명 | 
기타 | 
M-d | 
현재 커서 위치의 단어 혹은 선택영역 선택 혹은 아래 방향으로 같은 단어를 하나 검색해서 선택 | 
 | 
M-D | 
현재 커서 위치의 단어 혹은 선택영역 선택 혹은 윗쪽 방향으로 같은 단어를 하나 검색해서 선택 | 
 | 
영역 선택 후 R | 
해당 단어 모두 선택 | 
 | 
R | 
선택된 단어들을 덮어쓰기(Replace) 모드로 몽땅 편집하기 | 
 | 
I | 
선택된 단어들을 삽입(Insert) 모드로 몽땅 편집하기 | 
 | 
D | 
선택된 단어들을 삭제하기 | 
 | 
C-n | 
선택중인 다음 단어들로 점프 | 
 | 
C-p | 
선택중인 이전 단어들로 점프 | 
 | 
RET | 
선택 영역 토글 | 
 | 
ESC | 
탈출(Exit evil-multiedit mode) | 
 | 
멀티 커서(Multiple Cursors) - evil-mc
| 단축키 | 
설명 | 
기타 | 
g z z | 
현재 위치에 커서 만들기 | 
 | 
g z j | 
현재 커서 위치에서 서브커서를 만들고 아래로 이동 (g z k 는 위로) | 
 | 
g z m | 
현재 커서 위치와 관련이 있는 모든 곳에 서브커서 생성 | 
 | 
g z d | 
현재 커서의 단어 끝에 서브커서를 만들고 비슷한 다음 단어로 커서 이동 | 
 | 
g z D | 
현재 커서의 단어 끝에 서브커서를 만들고 비슷한 이전 단어로 커서 이동 | 
 | 
특수 텍스트 변환
| 단축키 | 
설명 | 
기타 | 
! | 
연관 텍스트로 변환 | 
rotate-text | 
연관 텍스트라는 것은 좀 특수한 경우인데, 예를 들어 C++에서 public - private - protected 등의 관계를 생각하면 될 것 같다.
Emacs Lisp 관련
| 단축키 | 
설명 | 
기타 | 
SPC : | 
함수 실행하기(Emacs 의 M-x 와 동일). 콜론 주의. | 
 | 
SPC ; | 
명령 실행하기(eval expression). 세미콜론임에 주의 | 
 | 
SPC m e r | 
Lisp Mode에서 선택 영역 실행하기(eval region). | 
 | 
SPC m e b | 
Lisp Mode에서 버퍼 전체 실행하기(eval buffer). | 
 | 
S b | 
선택 영역을 괄호(braces)로 둘러싸기 | 
 | 
z M | 
모든 헤드라인 폴딩 | 
 | 
z R | 
모든 헤드라인 폴딩 열기 | 
 | 
프로그래밍 관련
| 단축키 | 
설명 | 
기타 | 
g c | 
영역을 주석처리(comment) 혹은 주석해제(uncomment) (Vim 스타일) | 
 | 
SPC a ; | 
영역을 주석처리(comment) 혹은 주석해제(uncomment) (Doom Emacs 스타일) | 
 | 
SPC c d | 
레퍼런스로 이동(Look up reference) | 
 | 
= | 
선택영역 들여쓰기(indentation) 정리 (Vim 스타일) | 
 | 
]e | 
Next Error | 
 | 
[e | 
Previous Error | 
 | 
SPC c x | 
List Errors | 
 | 
Org Mode 공통
| 단축키 | 
설명 | 
기타 | 
SPC m t | 
TODO 마크 | 
 | 
SPC m p | 
우선순위(priority) | 
 | 
SPC n s | 
노트(org) 검색 | 
 | 
SPC n r f | 
Org Roam 문서 제목으로 파일 열기 | 
 | 
Org Mode 테이블 스프레드시트
| 단축키 | 
설명 | 
기타 | 
SPC m b h | 
테이블에서 커서 위치의 필드 정보 | 
org-table-field-info | 
C-c } | 
테이블 필드 정보 오버레이 토글 | 
org-table-toggle-coordinate-overlays | 
프로파일러(profiler)
| 단축키 | 
설명 | 
기타 | 
SPC h T | 
Toggle Profiler | 
 | 
관련된 글들