Linux

[Emacs] Emacs 기본 편집 명령어

naudhizb 2017. 4. 28. 17:38
반응형

[ 파일 편집 ]


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)


M-% 찾아 바꾸기(replace)
- y : 값 바꾸기
- n : 바꾸지 않기
- q : 바꾸지 않고 모드 나가기
- . : 값 바꾸고 모드 나가기

- ! : 남은 값 모두 바꾸기


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/

여기로.. 





반응형