emacs 단축키

Emacs Command Summary

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 버퍼의 내용을 비교하고 처음으로 다른 부분을 보여준다.
    • 만약 두개이상일 경우 현재 커서가 위치해 있는 윈도우와 시계 방향으로 다음 윈도우의 내용이 비교된다
위로 스크롤