C-SP set-mark-command C-q quoted-insert
C-a beginning-of-line C-r isearch-backward
C-b backward-char C-s isearch-forward
C-c exit-recursive-edit C-t transpose-chars
C-d delete-char C-u universal-argument
C-e end-of-line C-v scroll-up
C-f forward-char C-w kill-region
C-h help-command C-x Control-X-prefix
TAB indent-for-tab-command C-y yank
LFD newline-and-indent C-z suspend-emacs
C-k kill-line ESC ESC-prefix
C-l recenter C-] abort-recursive-edit
RET newline C-_ undo
C-n next-line SPC .. ~ self-insert-command
C-o open-line DEL delete-backward-char
C-p previous-line
C-h v describe-variable C-h d describe-function
C-h w where-is C-h k describe-key
C-h t help-with-tutorial C-h c describe-key-briefly
C-h s describe-syntax C-h b describe-bindings
C-h n view-emacs-news C-h a command-apropos
C-h C-n view-emacs-news C-h C-d describe-distribution
C-h m describe-mode C-h C-c describe-copying
C-h l view-lossage C-h ? help-for-help
C-h i info C-h C-h help-for-help
C-h f describe-function
C-x C-a add-mode-abbrev C-x 5 split-window-horizontally
C-x C-b list-buffers C-x ; set-comment-column
C-x C-c save-buffers-kill-emacs C-x < scroll-left
C-x C-d list-directory C-x = what-cursor-position
C-x C-e eval-last-sexp C-x > scroll-right
C-x C-f find-file C-x [ backward-page
C-x C-h inverse-add-mode-abbrev C-x ] forward-page
C-x TAB indent-rigidly C-x ^ enlarge-window
C-x C-l downcase-region C-x ` next-error
C-x C-n set-goal-column C-x a append-to-buffer
C-x C-o delete-blank-lines C-x b switch-to-buffer
C-x C-p mark-page C-x d dired
C-x C-q toggle-read-only C-x e call-last-kbd-macro
C-x C-r find-file-read-only C-x f set-fill-column
C-x C-s save-buffer C-x g insert-register
C-x C-t transpose-lines C-x h mark-whole-buffer
C-x C-u upcase-region C-x i insert-file
C-x C-v find-alternate-file C-x j register-to-dot
C-x C-w write-file C-x k kill-buffer
C-x C-x exchange-dot-and-mark C-x l count-lines-page
C-x C-z suspend-emacs C-x m mail
C-x ESC repeat-complex-command C-x n narrow-to-region
C-x $ set-selective-display C-x o other-window
C-x ( start-kbd-macro C-x p narrow-to-page
C-x ) end-kbd-macro C-x q kbd-macro-query
C-x + add-global-abbrev C-x r copy-rectangle-to-register
C-x - inverse-add-global-abbrev C-x s save-some-buffers
C-x . set-fill-prefix C-x u advertised-undo
C-x / dot-to-register C-x w widen
C-x 0 delete-window C-x x copy-to-register
C-x 1 delete-other-windows C-x { shrink-window-horizontally
C-x 2 split-window-vertically C-x } enlarge-window-horizontally
C-x 4 ctl-x-4-prefix C-x DEL backward-kill-sentence
ESC C-SP mark-sexp ESC = count-lines-region
ESC C-a beginning-of-defun ESC > end-of-buffer
ESC C-b backward-sexp ESC @ mark-word
ESC C-c exit-recursive-edit ESC O ??
ESC C-d down-list ESC [ backward-paragraph
ESC C-e end-of-defun ESC \ delete-horizontal-space
ESC C-f forward-sexp ESC ] forward-paragraph
ESC C-h mark-defun ESC ^ delete-indentation
ESC LFD indent-new-comment-line ESC a backward-sentence
ESC C-k kill-sexp ESC b backward-word
ESC C-n forward-list ESC c capitalize-word
ESC C-o split-line ESC d kill-word
ESC C-p backward-list ESC e forward-sentence
ESC C-s isearch-forward-regexp ESC f forward-word
ESC C-t transpose-sexps ESC g fill-region
ESC C-u backward-up-list ESC h mark-paragraph
ESC C-v scroll-other-window ESC i tab-to-tab-stop
ESC C-w append-next-kill ESC j indent-new-comment-line
ESC ESC ?? ESC k kill-sentence
ESC C-\ indent-region ESC l downcase-word
ESC SPC just-one-space ESC m back-to-indentation
ESC ! shell-command ESC q fill-paragraph
ESC $ spell-word ESC r move-to-window-line
ESC % query-replace ESC t transpose-words
ESC ' abbrev-prefix-mark ESC u upcase-word
ESC ( insert-parentheses ESC v scroll-down
ESC ) move-past-close-and-reindent ESC w copy-region-as-kill
ESC , tags-loop-continue ESC x execute-extended-command
ESC - negative-argument ESC y yank-pop
ESC . find-tag ESC z zap-to-char
ESC 0 .. ESC 9 digit-argument ESC | shell-command-on-region
ESC ; indent-for-comment ESC ~ not-modified
ESC < beginning-of-buffer ESC DEL backward-kill-word
C-x 4 C-f find-file-other-window C-x 4 d dired-other-window
C-x 4 . find-tag-other-window C-x 4 f find-file-other-window
C-x 4 b pop-to-buffer C-x 4 m mail-other-window
표기법
- Ctrl 키는 C 로 표현하고 -(대시) 문자는 뒤에오는 키와 함께 입력한다는 의미이다.
- M 키는 메타키로 일반키보드에서는 Alt키를 사용한다.
- <SPC>는 스페이스 키, <TAB> 탭키를 말한다. 그외 <RET>는 리턴 키, <ESC>는 이스케이프 키, <F1>, <F2>등으로 표기한다.
예) C-x C-f 컨트롤 키를 누른 상태에서, x를 누르고 (컨트롤 키를 떼지 않고) f를 누른다.
기본명령
명령 |
단축키 |
실행명령 |
emacs |
파일열기 |
C-x C-f, /디렉토리명/디렉토리명/파일명 |
파일종료 |
C-x k 현재 파일을 닫는다. |
실행종료 |
C-x C-c emacs 종료 |
파일저장 |
C-x C-s |
실행취소 |
C-/ 또는 C-x u |
명령취소 |
C-g (단축키를 잘못 누른 경우 반드시 명령취소를 해야 한다. 그렇지 않으면 emacs는 계속 명령을 대기한다.) |
이동
명령 |
단축키 |
한줄아래 |
C-n 또는 방향키 아래 |
한줄위로 |
C-p 또는 방향키 위 |
한칸앞으로 |
C-f 또는 방향키 우측 |
한칸뒤로 |
C-b 또는 방향키 좌측 |
한단어 앞으로 |
M-f |
한단어 뒤로 |
M-b |
PageUp |
M-v |
PageDown |
C-v |
Home |
C-a 커서를 줄의 맨 처음으로 이동 |
End |
C-e 커서를 줄의 맨 끝으로 이동 |
삭제
명령 |
단축키 |
한글자 삭제 |
C-d 또는 삭제할 글자 앞으로 이동하여 백스페이스 키 |
한단어 삭제 |
M-d 또는 삭제할 단어 앞으로 이동하여 백스페이스 연타 |
한줄 삭제 |
C-k 커서가 위치한 현재 줄의 끝까지 삭제 |
복사/붙여넣기
명령 |
단축키 |
영역지정 |
C-<SPC> 키를 누르고 원하는 영역을 방향키 또는 Ctrl + n,p,f,b 키등으로 이동 |
복사 |
M-w |
잘라내기 |
C-w |
붙여넣기 |
C-y |
검색/치환
명령 |
단축키 |
검색 |
C-s 검색어 (C-s를 반복해서 누름으로써 계속 검색을 할 수 있다) |
정규표현식 검색 |
C-M-s 정규표현식을 사용해서 매우 정교한 검색이 가능 |
일반 치환 |
M-% 또는 M-x query-replace 와 같이 명령어를 입력하는 방법도 있다. |
정규표현식 치환 |
C-M-% 또는 M-x query-replace-regexp |
들여쓰기와 내어쓰기
명령 |
단축키 |
들여쓰기 |
C-u 8 C-x TAB 또는 C-8 C-x TAB |
내어쓰기 |
C– C-u 8 C-x TAB 또는 C– C-8 C-x TAB |
사각형 영역지정
명령 |
단축키 |
지정한 사각형 영역 지움 |
사각형 영역지정, C-x r k |
지정한 영역만큼 공백삽입 |
영역지정, C-x r o |
대소문자 변경
명령 |
단축키 |
선택영역을 대문자로 |
C-x C-u |
선택영역을 소문자로 |
C-x C-l |
주석 달기
명령 |
단축키 |
기본 주석 |
영역지정, M-; 또는 M-x comment-region 참고. emacs에서 주석 문자와 형태는 각 mode에 따라 다르다. 예, sql mode에서는 알아서 표준 주석인 – 문자가 입력된다. |
주석 제거 |
M-x uncomment-region |
탭과 공백
명령 |
단축키 |
줄 끝 공백제거 |
M-\ |
윈도우
명령 |
단축키 |
수평으로 나누기 |
C-x 3 (M-x split-window-horizontally) |
수직으로 나누기 |
C-x 2 (M-x split-window-vertically) |
윈도우 옮겨다니기 |
C-x o (한번 실행할때만다 시계방향의 버퍼로 이동한다.), 마우스로 클릭하면 그 버퍼의 위치로 이동.) |
윈도우 삭제 |
C-x 1 |
윈도우 길이 조절 |
C-x |
윈도우 간격 조절 |
C-x } 또는 C-x { |
윈도우 사이즈 통일 |
C-x + |
TIP
- 보통은 mode line을 마우스로 드래그하여 조정한다.
- 사이즈를 조정하기 위해 단축키를 여러번 누르기 싫다면 C-u를 사용하는 방법도 있다.
- 예) C-u 20 C-x ^
- M-x compare-windows 버퍼의 내용을 비교하고 처음으로 다른 부분을 보여준다.
- 만약 두개이상일 경우 현재 커서가 위치해 있는 윈도우와 시계 방향으로 다음 윈도우의 내용이 비교된다