Doom Emacs 단축키
2024년 7월 30일 수정
≡ 목차 (Table of Contents)
이 글은 더이상 관리되지 않으며 대신 ⏍https://seorenn.github.io/article/doom-emacs-shortcuts.html 주소의 글이 주기적으로 관리될 예정입니다.
이 글은 Doom Emacs에서 개인적으로 자주 사용하는 단축키들을 정리한다.
설정(Configuration) 관련
SPC f p
- 설정 파일 열기 (선택 다이얼로그가 뜬다)
SPC h r r
- 설정 싱크(sync) 및 리로드(
doom/reload
)
파일, 프로젝트, 워크스페이스 관련
SPC f f
- find-file, 즉 파일 열기
SPC .
- 현재 디렉토리에서 파일 열기 (생성하기도 가능)
SPC p p
- 프로젝트 전환(워크스페이스가 없으면 생성)
SPC SPC
- 프로젝트 파일 열기
SPC TAB .
- 워크스페이스(프로젝트) 목록 및 전환
SPC TAB NUM
- NUM 숫자에 해당하는 워크스페이스로 전환
버퍼(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 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)
폴딩(Folding)
z f
- 선택 영역 접기(폴딩)
z a
- 폴딩 토글하기
z d
- 폴딩 제거하기(코드는 당연히 삭제 안됨)
z E
- 모든 폴딩 제거
z j
- 다음 폴딩으로 이동
z k
- 이전 폴딩으로 이동
셸(Shell) 혹은 터미널(Terminal)
SPC o t
- 터미널 열기
템플릿(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
는 이전으로 이동)
Surrounding(evil-surround)
S >
- surround selection by
<
…>
S )
- surround selection by
(
…)
특수 텍스트 변환
!
- 연관 텍스트로 변환 rotate-text
Emacs Lisp 관련
SPC :
- 함수 실행하기(Emacs 의
M-x
와 동일). 콜론 주의. SPC ;
- 명령 실행하기(eval expression). 세미콜론임에 주의
g r
- 선택 영역 실행하기(eval region)
g R
- 버퍼 전체 실행하기(eval buffer). 근데 버그가 있는지 첫 문단만 실행되네? 추후 수정될 가능성 있음.
SPC m e b
- 버퍼 전체 실행하기(eval buffer). 이건 잘 돌아감.
S b
- 선택 영역을 괄호(braces)로 둘러싸기
z M
- 모든 헤드라인 폴딩
z R
- 모든 헤드라인 폴딩 열기
프로그래밍 관련
g c
- 선택 영역을 주석(commenting)으로 처리하거나 혹은 해제(uncommenting) (evil-nerd-commenter)
SPC c d
- 레퍼런스로 이동(Look up reference)
=
- 선택영역 들여쓰기(indentation) 정리
]e
- Next Error
[e
- Previous Error
SPC c x
- List Errors
Org Mode 공통
SPC m t
- TO DO 마크 (띄어서 쓴 이유는 org agenda에 안 걸리게 하기 위함)
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