[Emacs] Emacs 기본 편집 명령어
[ 파일 편집 ]
C-x C-f : 파일 찾기
C-x C-s : 파일 저장
C-x C-b : 현재 열려있는 사이칸(버퍼) 리스트;/문서 리스트/ 보기
C-x s : 현재 열려있는 버퍼 저장
C-x C-c : emacs 끝내기
[ 커서 이동 ]
C-b : 이전(뒤) 칸으로 이동(backward-char)
C-f : 다음(앞) 칸으로 이동(forward-char)
M-b : 이전(뒤) 단어로 이동(backward-word)
M-f : 다음(앞) 단어로 이동(forward-word)
C-p : 이전 줄로 이동(previous-line)
C-n : 다음 줄로 이동(next-line)
C-a : 줄의 시작으로 이동(move-beginning-of-line)
C-e : 줄의 끝으로 이동(move-end-of-line)
M-a : 문장의 시작으로 이동
M-e : 문장의 끝으로 이동
M-< : 문서의 시작으로 이동
M-> : 문서의 끝으로 이동
M-g-g [%d] : 문서의 %d 줄로 이동
*Tip : C는 보통 편집하고 있는 것과는 관계없는 기본 단위로 움직이며, M은 보통 언어가 정의하는 단위를 기준으로 작동됨.
[ 페이지 이동 ]
C-v : 다음 페이지로 이동(Page down)
M-V : 이전 페이지로 이동(Page up)
C-l : 커서가 페이지의 중간에 올 수 있도록 페이지 이동
[ 문서 편집 ]
%c : 문자 끼우기
<DEL> : 깜빡이 직전 문자 지우기(Delete)
C-d : 깜빡이 다음 문자 지우기(Delete)
M-<DEL> : 깜빡이 직전 낱말 지우기(Kill)
M-d : 깜빡이 다음 낱말 죽이기(Kill)
C-k : 깜빡이 위치부터 줄 끝까지 죽이기(Kill)
M-k : 현재 문장의 끝까지 죽이기(Kill)
C-y : 잡아당기기(붙여넣기, yanking)
C-y M-y : 잡아당기기 한 후 이전에 죽인 것으로 바꾸기(swap) M-y는 계속 호출할 수 있음.
*Tip: 죽여진(Kill) 문자는 다시 붙여넣을 수 있는 반면, 지워진(Delete) 문자는 다시 붙여넣을 수 없음.
C-x u : 무르기(undo)
C-/ : 무르기(undo)
C-s : 아래로 찾기(search)
C-s C-s : 최근 찾은 아이템 찾기
C-s M-p : search history에서 이전 아이템
C-s M-n : search history에서 다음 아이템
C-r : 위로 찾기(reverse-search)
- ! : 남은 값 모두 바꾸기
C-M-s : 정규 표현식으로 찾기(*regexp를 참조 할 것 M-x re-builder
[블럭(region) 지정]
C-@, C-<SPC> : 블럭지정(Mark)
C-x C-x : 블럭지정하는 커서를 반대편으로 이동
C-x h : 문서 전체 블럭 지정
M-h : 현재 문단 블럭 지정
C-w : 블럭지정된 부분을 죽이기(잘라내기)
M-w : 블럭지정된 부분을 복사
C-x n n : 버퍼 영역을 현재 블럭 지정한 영역으로 줄이기
(이 기능은 문서의 한 챕터를 편집할 때에 유용함. 이 기능을 사용하면 찾기나
C-x n w : 줄여진 버퍼 영역을 원상복구
[ 중복 실행 ]
C-u %d [] : %d번만큼 동작 실행(e.g. C-u 10 C-f , C-u 10 *)
M-%d [] : %d번만큼 동작 실행
[ 작동 관련 ]
C-g : 실행하고 있는 명령 중지 (e.g. C-u 100 C-g C-f를 실행하면 한 문자만 앞으로 움직임)
* 무능명령(disabled command) : 어떤 명령어는 허용되지 않아 명령어를 실행할 때 실제 수행할 것인지 물어봄(e.g. C-x C-l)
<ESC> <ESC> <ESC> : 명령 취소
[ 확장 명령 ]
C-x : 문자 확장. 문자 하나가 뒤따름
M-x : 이름 명령의 확장. 긴 이름이 뒤따름(스페이스와 탭을 이용하여 명령어 자동완성)
* 대부분의 커맨드는 M-x 확장 명령을 통하여 실행 가능하며 확장 명령어는 매우 많으므로
다른 포스트에서 다루도록 함.
(e.g. M-x replace-string A B)
[ 레이아웃 관련 ]
C-x 1 : 창을 1개로 만들기(현재 창만 유지)
C-x 2 : 창을 세로로 2개로 만들기
C-x 3 : 창을 가로로 2개로 만들기
C-x 4 C-f : 새로운 창에서 새 파일 열기
C-M-v : 다른 창을 두루말기(Page down)
C-x o : 깜빡이를 다른 창으로
MODE BAR(방식 줄)
--:** TUTORIAL.ko (Fundmental)--L670--58%---------------
> (Fundmental) : 현재 주 방식(Current mode)
> L670 : 현재 라인
> -NN%-- : 현재 위치
[ 방식(Mode) ]
- 주 방식과 부 방식으로 나뉘어 짐
- 주 방식
(e.g. M-x fundmental-mode)
(e.g. M-x text-mode)
- 부 방식
(e.g. M-x auto-fill-mode, C-x f 로 한줄 최대 설정 가능 ; 공백에서만 작동, M-q를 이용하여 기존 문장 새로고침 가능)
회귀적 편집 수준(recursive editing level) : [(Fundmental)] 과 같이 방식이 표시되는 경우 <ESC> <ESC> <ESC>를 눌러 벗어날 수 있음.
[ 도움말 ]
C-h ? : 도움말 요청하기
--> 위의 도움말키가 작동하지 않는 경우 <F1>이나 M-x help <Return>을 이용할 것.
C-h c [Command] : [Command]에 관한 간단한 도움말 보기
C-h k [Command] : [Command]에 관한 좀 더 자세한 도움말 보기
C-h f [Name command] : 이름 명령에 대한 도움말 보기 (e.g. C-h f previous-line)
C-h a [apropos] : [apropos](명령 핵심어)가 들어가있는 모든 명령들을 보여줌. 함수들은 M-x를 통하여 호출 가능.
C-h i : 온라인 설명서 읽기, m emacs 를 이용하여 이맥스 도움말을 볼 수 있음.
기본적인 단축키에 대해 좀 더 알아보고 싶다면
https://www.gnu.org/software/emacs/tour/
여기로..