--------------------
일반키
--------------------
o Meta 키 : Alt 키 또는 ESC 키
o 커서이동 : 위(C-p), 아래(C-n), 왼쪽(C-b), 오른쪽(C-f)
C-l : 현재줄을 가운데로
C-a : 줄의 시작, C-e : 줄의 끝
C-v : 페이지이동 (M-v)
M-< : 문서시작, M-> : 문서끝
M-x goto-line n RET : n 라인으로 이동
M-x goto-char n RET : n 번째 문자로 이동
o 반복 : C-u [number] ...
o 중지 : C-g
o 삭제 : C-d 다음문자삭제 Del : 이전문자삭제
C-k 현재줄 끝까지 지우기
o 붙이기 : C-y
o 취소 : C-x-u
o 파일찾기 : C-x C-f
o 저장 : C-x C-s
o 버퍼보기 : C-x C-b
o 버퍼전환 : C-x b
o 버퍼죽이기 : C-x k
o 쉘모드 : C-z
o 끝내기 : C-x C-c
o F10 : emacs 메뉴
o M-: : 간단한 lisp 명령 실행
--------------------
창관련
--------------------
o 창하나로 : C-x 1
o 창나누기 : C-x 2 (가로로), C-x 3 (세로로)
o 창전환 : C-x o
o 창크기바꾸기 : C-x ^ (크게),
C-x { (가로로크게), C-x } (가로로 작게)
o 창닫기 : C-x 0
o 스크롤 : C-x < (좌로스크롤), C-x > (우로 스크롤)
o 수평스크롤모드 : M-x hscroll-mode 또는 M-x hscroll-global-mode (전제버퍼에
영향)
o 다른창에서 파일열기 : C-x 4 C-f
o 다른창에서 버퍼열기 : C-x 4 b
--------------------
편집
--------------------
o 문자열바꾸기 : M-x replace-string
o 찾기 : C-s , C-r (뒤로찾기)
o regexp 검색 : C-M-s
o 마크(Mark) : C-SPC 또는 C-@
o 마크까지 삭제 : C-w
o 마크까지 저장 : M-w
o 붙여넣기(Yank) : C-y
o 직사각형영역(rectangle) 삭제 : C-x r k
o 직사각형영역 yank : C-x r y
o 직사각형영역을 스페이스로 : M-x clear-rectangle
o TAB STOP : M-x edit-tab-stops
( TAB 이 멈출 위치에 ":" 을 놓는다. )
o 탭을 공백으로 : M-x untabify
o 공백을 탭으로 : M-x tabify
o 디폴트 탭 간격 : (setq default-tab-width 4)
o 영역만 보이게 하기 : 편집시에 영역 외에는 편집할 수 없도록 하기 위해서.
C-x n n
o 모두 보이게 하기 : C-x n w
o 줄체인지 : 두 줄의 위치를 서로 변경한다.
C-x C-t
o whitespace 제거 : M-x fixup-whitespace
o ^M 문자 제거 : 특수문자는 C-q 를 먼저 누르고 C-m 식으로 누르면 된다.
(C-q : Quote String)
M-x replace-string C-q C-m
(참고 : set-file-buffer-coding-system RET euc-korea-dos RET )
--------------------
북마크
--------------------
o 북마크설정 : C-x r m
o 북마크로이동 : C-x r b
o 북마크리스트 : C-x r l
o 북마크삭제 : M-x bookmark-delete
(또는 북마크리스트모드에서 D 한후 x)
o 북마크이름변경 : M-x bookmark-rename
--------------------
레지스트리
--------------------
o R에 저장된 것을 보인다 : M-x view-register RET R
o 포인트의 위치를 R에 저장 : C-x / R
o R 로 이동 : C-x j R
o region을 R에 복사 : C-x x R
o rectangle을 R에 복사 : C-x r R
o R의 내용을 삽입 : C-x g R
--------------------
기타
--------------------
o Syntax Highlighting : M-x font-lock-mode
(in .emacs file)
(global-font-lock-mode 1)
o 현재정의되어 있는 키 바인딩 : C-h b
o KEY 가 실행하는 명령 이름 : C-h c
o 쉘모드 : M-x shell RET
o 쉘실행 : M-! [shell command]
o FTP 모드 : M-x ftp RET
o 한글파일깨져보일 때 : C-x RET c <coding-system> C-x C-f
o 백스페이스키가 안먹힐 때 : (global-set-key "\C-h" 'delete-backward-char)
o 대문자로 : M-u, M-l (소문자로), M-c (첫번째 문자만 대문자로)
o 자동저장기능 : M-x auto-save-mode 혹은 (setq auto-save-mode nil)
o visual bell : (setq visual-bell t)
--------------------
Ange_ftp Mode
--------------------
FTP 를 아주 쉽게 사용할 수 있다.
o 열기 : C-x C-f /username@systemname:/directory/file_name
/ 로 시작하며 username@systemname: 이 들어가면 Ange-ftp 모드가 동작하게 된다.
o 저장 : C-x C-w (똑같다.)
--------------------
Shell_Mode
--------------------
o 시작 : M-x shell RET
o ls 가 이상하게 보일 때 : ~/.bashrc 에 --color=none 으로 ls 의 alias 를 변경해준다.
o 주의 vi 를 실행하면 좀 곤란하다. (C-x C-f)
--------------------
C_Mode
--------------------
o 진짜 탭 : M-i
o 여러 인덴테이션 스타일 선택 : M-x c-set-style K&R
(cc-mode, gnu, k&r, bsd, stroustrup, whitesmith, ellemtel)
o 영역에 대해 인덴테이션 적용 : M-C-\
(근데 시간이 좀 걸린다.)
o { } 범위 확인 : M-C-n 또는 M-C-p
o 주석 : M-; (다음라인까지 M-j)
o 주석region : M-x comment-region
o 주석제거 : M-x kill-comment RET
o 함수시작위치 : M-C-a
o 함수끝위치 : M-C-e
o 인덴테이션리포매팅 : M-C-\
--------------------
MACRO
--------------------
o 매크로시작 : C-x (
o 매크로끝 : C-x )
o 매크로이름짓기 : M-x name-last-kbd-macro
o 매크로붙여넣기 : M-x insert-kbd-macro
o 매크로실행 : M-x [macro_name] 또는 C-x e (최근생성된 매크로가 실행됨)
o 매크로파일열기 : M-x load-file ~/emacs/nroff.macs RET
또는 (load-file "~/emacs/nroff.macs") in .emacs
--------------------
Fill_Indentation (문단 좌측 들여쓰기)
--------------------
o 인덴트 모드로 전환 : M-x indented-text-mode
o 문단 들여쓰기 : M-x fill-paragraph 또는 M-q
o 여러 문단 들여쓰기 : region 설정 -> M-x fill-individual-paragraph
o 문단 컬럼 수 정의 : C-u # M-x set-fill-column
o 오토 필 모드 : 현재의 fill-column 다음에 스페이스가 들어가면 자동적으로 라인을 나눈다.
M-x auto-fill-mode
o 영역 들여 쓰기(indent-region) : region을 설정하고
M-C-\
o 인덴트 Prefix 세팅 : 들여쓰기 할 때 이 Prefix 를 적용한다.
C-x .
(해제 할 때는 첫번째 칸에서 C-x .)
--------------------
Interactive Emacs_Lisp Mode
--------------------
o 이맥스 Lisp Mode 로 : M-x lisp-interaction-mode
o Evaluate : C-j 또는 C-RET
o 샘플 :
(defun zhozho (arg)
(interactive "sHI : ")
(save-excursion
(message "hihi %s" arg)
)))
o .emacs 샘플 :
(add-hook 'text-mode-hook
'(lambda ()
(auto-fill-mode t)
(setq fill-column 100)))
--------------------
Syntax Coloring & Highlighting
--------------------
o 색깔 넣어서 보기 : M-x font-lock-mode
o .emacs :
(global-font-lock-mode 1)
o 특정모드만 :
(add-hook 'c-mode-hook 'turn-on-font-lock)
o 색깔 바꾸기 : (예로 주석의 색상을 바꾸기)
M-x customize-face RET font-lock-comment-face RET
여기서 색깔 바꾸고 저장(save for future session)하면 ~/.emacs 에
세팅된다.
o 색상표보기 : M-x list-colors-display
--------------------
Outline_Mode
--------------------
Outline-Mode 는 책형식을 글을 쓸 때에 단계별로 내용을 관리할 수 있는 기능
o Outline모드로 전환 : M-x outline-mode
o 바디 감추기 : C-c C-t
o 바디 보이기 : C-c C-a
o 다음 같은 레벨로 : C-c C-f
o 이전 같은 레벨로 : C-c C-b
o 서브트리 감추기 : C-c C-d
o 서브트리 보이기 : C-c C-s
--------------------
SGML_Mode
--------------------
o 태그(안)보이기 : C-c TAB
o 다음태그로 : C-c C-f, C-c right
o 이전태그로 : C-c C-b, C-c left
o 태그입력 : C-c C-t
--------------------
Hexl_Mode
--------------------
16진수 바이너리 편집모드
o M-x hexl-mode : hexl모드로 전환
o M-x hexl-goto-hex-address : M-g, 16진수 주소로 이동
o (hexl-hex-string-to-integer "f") : 16진수 "f"를 10진수로 변환
--------------------
Mini buffer
--------------------
o M-x column-number-mode : 컬럼번호가 찍힌다.
o M-x display-time : 시간이 찍힌다.
o display-time-day-and-date : var, 날짜도
o display-time-24hr-format : var, 24시간 포맷으로
--------------------
Variable
--------------------
o C-h v VAR : VAR 라는 변수의 값을 본다.
o M-x set-variable <RET> VAR <RET> VALUE <RET> : VAR 를 VALUE 로 바꾼다.
--------------------
Tramp_Mode
--------------------
o Tramp 는 ange-ftp 처럼 원격지에 있는 파일을 접근할 때 사용한다.
o ange-ftp 는 ftp 를 사용하지만, tramp 는 ftp 를 사용하지 않고,
telnet, scp, rcp 등등의 프로토콜을 사용한다.
o Tramp 는 따로 다운받아 설치해야 한다.
o 다운로드 :
http://ls6-www.informatik.uni-dortmund.de/~grossjoh/emacs/tramp.html
ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/tramp.tar.gz
o 메소드 :
tu == using Telnet and UUEncode
scp == using scp (사이즈가 클때는 속도향상 bcoz uuencode/decode 가 필요없다)
o 사용법 :
C-x C-f /r:<remote host>:<path to remote file>
o 설정 : .emacs
(add-to-list 'load-path "~/emacs_lisp/tramp/lisp/")
(require 'tramp)
(add-to-list 'Info-default-directory-list "~/emacs_lisp/tramp/text/")
(setq tramp-default-method "scp"
출처: http://ppiazi.springnote.com/pages/699855?print=1
일반키
--------------------
o Meta 키 : Alt 키 또는 ESC 키
o 커서이동 : 위(C-p), 아래(C-n), 왼쪽(C-b), 오른쪽(C-f)
C-l : 현재줄을 가운데로
C-a : 줄의 시작, C-e : 줄의 끝
C-v : 페이지이동 (M-v)
M-< : 문서시작, M-> : 문서끝
M-x goto-line n RET : n 라인으로 이동
M-x goto-char n RET : n 번째 문자로 이동
o 반복 : C-u [number] ...
o 중지 : C-g
o 삭제 : C-d 다음문자삭제 Del : 이전문자삭제
C-k 현재줄 끝까지 지우기
o 붙이기 : C-y
o 취소 : C-x-u
o 파일찾기 : C-x C-f
o 저장 : C-x C-s
o 버퍼보기 : C-x C-b
o 버퍼전환 : C-x b
o 버퍼죽이기 : C-x k
o 쉘모드 : C-z
o 끝내기 : C-x C-c
o F10 : emacs 메뉴
o M-: : 간단한 lisp 명령 실행
--------------------
창관련
--------------------
o 창하나로 : C-x 1
o 창나누기 : C-x 2 (가로로), C-x 3 (세로로)
o 창전환 : C-x o
o 창크기바꾸기 : C-x ^ (크게),
C-x { (가로로크게), C-x } (가로로 작게)
o 창닫기 : C-x 0
o 스크롤 : C-x < (좌로스크롤), C-x > (우로 스크롤)
o 수평스크롤모드 : M-x hscroll-mode 또는 M-x hscroll-global-mode (전제버퍼에
영향)
o 다른창에서 파일열기 : C-x 4 C-f
o 다른창에서 버퍼열기 : C-x 4 b
--------------------
편집
--------------------
o 문자열바꾸기 : M-x replace-string
o 찾기 : C-s , C-r (뒤로찾기)
o regexp 검색 : C-M-s
o 마크(Mark) : C-SPC 또는 C-@
o 마크까지 삭제 : C-w
o 마크까지 저장 : M-w
o 붙여넣기(Yank) : C-y
o 직사각형영역(rectangle) 삭제 : C-x r k
o 직사각형영역 yank : C-x r y
o 직사각형영역을 스페이스로 : M-x clear-rectangle
o TAB STOP : M-x edit-tab-stops
( TAB 이 멈출 위치에 ":" 을 놓는다. )
o 탭을 공백으로 : M-x untabify
o 공백을 탭으로 : M-x tabify
o 디폴트 탭 간격 : (setq default-tab-width 4)
o 영역만 보이게 하기 : 편집시에 영역 외에는 편집할 수 없도록 하기 위해서.
C-x n n
o 모두 보이게 하기 : C-x n w
o 줄체인지 : 두 줄의 위치를 서로 변경한다.
C-x C-t
o whitespace 제거 : M-x fixup-whitespace
o ^M 문자 제거 : 특수문자는 C-q 를 먼저 누르고 C-m 식으로 누르면 된다.
(C-q : Quote String)
M-x replace-string C-q C-m
(참고 : set-file-buffer-coding-system RET euc-korea-dos RET )
--------------------
북마크
--------------------
o 북마크설정 : C-x r m
o 북마크로이동 : C-x r b
o 북마크리스트 : C-x r l
o 북마크삭제 : M-x bookmark-delete
(또는 북마크리스트모드에서 D 한후 x)
o 북마크이름변경 : M-x bookmark-rename
--------------------
레지스트리
--------------------
o R에 저장된 것을 보인다 : M-x view-register RET R
o 포인트의 위치를 R에 저장 : C-x / R
o R 로 이동 : C-x j R
o region을 R에 복사 : C-x x R
o rectangle을 R에 복사 : C-x r R
o R의 내용을 삽입 : C-x g R
--------------------
기타
--------------------
o Syntax Highlighting : M-x font-lock-mode
(in .emacs file)
(global-font-lock-mode 1)
o 현재정의되어 있는 키 바인딩 : C-h b
o KEY 가 실행하는 명령 이름 : C-h c
o 쉘모드 : M-x shell RET
o 쉘실행 : M-! [shell command]
o FTP 모드 : M-x ftp RET
o 한글파일깨져보일 때 : C-x RET c <coding-system> C-x C-f
o 백스페이스키가 안먹힐 때 : (global-set-key "\C-h" 'delete-backward-char)
o 대문자로 : M-u, M-l (소문자로), M-c (첫번째 문자만 대문자로)
o 자동저장기능 : M-x auto-save-mode 혹은 (setq auto-save-mode nil)
o visual bell : (setq visual-bell t)
--------------------
Ange_ftp Mode
--------------------
FTP 를 아주 쉽게 사용할 수 있다.
o 열기 : C-x C-f /username@systemname:/directory/file_name
/ 로 시작하며 username@systemname: 이 들어가면 Ange-ftp 모드가 동작하게 된다.
o 저장 : C-x C-w (똑같다.)
--------------------
Shell_Mode
--------------------
o 시작 : M-x shell RET
o ls 가 이상하게 보일 때 : ~/.bashrc 에 --color=none 으로 ls 의 alias 를 변경해준다.
o 주의 vi 를 실행하면 좀 곤란하다. (C-x C-f)
--------------------
C_Mode
--------------------
o 진짜 탭 : M-i
o 여러 인덴테이션 스타일 선택 : M-x c-set-style K&R
(cc-mode, gnu, k&r, bsd, stroustrup, whitesmith, ellemtel)
o 영역에 대해 인덴테이션 적용 : M-C-\
(근데 시간이 좀 걸린다.)
o { } 범위 확인 : M-C-n 또는 M-C-p
o 주석 : M-; (다음라인까지 M-j)
o 주석region : M-x comment-region
o 주석제거 : M-x kill-comment RET
o 함수시작위치 : M-C-a
o 함수끝위치 : M-C-e
o 인덴테이션리포매팅 : M-C-\
--------------------
MACRO
--------------------
o 매크로시작 : C-x (
o 매크로끝 : C-x )
o 매크로이름짓기 : M-x name-last-kbd-macro
o 매크로붙여넣기 : M-x insert-kbd-macro
o 매크로실행 : M-x [macro_name] 또는 C-x e (최근생성된 매크로가 실행됨)
o 매크로파일열기 : M-x load-file ~/emacs/nroff.macs RET
또는 (load-file "~/emacs/nroff.macs") in .emacs
--------------------
Fill_Indentation (문단 좌측 들여쓰기)
--------------------
o 인덴트 모드로 전환 : M-x indented-text-mode
o 문단 들여쓰기 : M-x fill-paragraph 또는 M-q
o 여러 문단 들여쓰기 : region 설정 -> M-x fill-individual-paragraph
o 문단 컬럼 수 정의 : C-u # M-x set-fill-column
o 오토 필 모드 : 현재의 fill-column 다음에 스페이스가 들어가면 자동적으로 라인을 나눈다.
M-x auto-fill-mode
o 영역 들여 쓰기(indent-region) : region을 설정하고
M-C-\
o 인덴트 Prefix 세팅 : 들여쓰기 할 때 이 Prefix 를 적용한다.
C-x .
(해제 할 때는 첫번째 칸에서 C-x .)
--------------------
Interactive Emacs_Lisp Mode
--------------------
o 이맥스 Lisp Mode 로 : M-x lisp-interaction-mode
o Evaluate : C-j 또는 C-RET
o 샘플 :
(defun zhozho (arg)
(interactive "sHI : ")
(save-excursion
(message "hihi %s" arg)
)))
o .emacs 샘플 :
(add-hook 'text-mode-hook
'(lambda ()
(auto-fill-mode t)
(setq fill-column 100)))
--------------------
Syntax Coloring & Highlighting
--------------------
o 색깔 넣어서 보기 : M-x font-lock-mode
o .emacs :
(global-font-lock-mode 1)
o 특정모드만 :
(add-hook 'c-mode-hook 'turn-on-font-lock)
o 색깔 바꾸기 : (예로 주석의 색상을 바꾸기)
M-x customize-face RET font-lock-comment-face RET
여기서 색깔 바꾸고 저장(save for future session)하면 ~/.emacs 에
세팅된다.
o 색상표보기 : M-x list-colors-display
--------------------
Outline_Mode
--------------------
Outline-Mode 는 책형식을 글을 쓸 때에 단계별로 내용을 관리할 수 있는 기능
o Outline모드로 전환 : M-x outline-mode
o 바디 감추기 : C-c C-t
o 바디 보이기 : C-c C-a
o 다음 같은 레벨로 : C-c C-f
o 이전 같은 레벨로 : C-c C-b
o 서브트리 감추기 : C-c C-d
o 서브트리 보이기 : C-c C-s
--------------------
SGML_Mode
--------------------
o 태그(안)보이기 : C-c TAB
o 다음태그로 : C-c C-f, C-c right
o 이전태그로 : C-c C-b, C-c left
o 태그입력 : C-c C-t
--------------------
Hexl_Mode
--------------------
16진수 바이너리 편집모드
o M-x hexl-mode : hexl모드로 전환
o M-x hexl-goto-hex-address : M-g, 16진수 주소로 이동
o (hexl-hex-string-to-integer "f") : 16진수 "f"를 10진수로 변환
--------------------
Mini buffer
--------------------
o M-x column-number-mode : 컬럼번호가 찍힌다.
o M-x display-time : 시간이 찍힌다.
o display-time-day-and-date : var, 날짜도
o display-time-24hr-format : var, 24시간 포맷으로
--------------------
Variable
--------------------
o C-h v VAR : VAR 라는 변수의 값을 본다.
o M-x set-variable <RET> VAR <RET> VALUE <RET> : VAR 를 VALUE 로 바꾼다.
--------------------
Tramp_Mode
--------------------
o Tramp 는 ange-ftp 처럼 원격지에 있는 파일을 접근할 때 사용한다.
o ange-ftp 는 ftp 를 사용하지만, tramp 는 ftp 를 사용하지 않고,
telnet, scp, rcp 등등의 프로토콜을 사용한다.
o Tramp 는 따로 다운받아 설치해야 한다.
o 다운로드 :
http://ls6-www.informatik.uni-dortmund.de/~grossjoh/emacs/tramp.html
ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/tramp.tar.gz
o 메소드 :
tu == using Telnet and UUEncode
scp == using scp (사이즈가 클때는 속도향상 bcoz uuencode/decode 가 필요없다)
o 사용법 :
C-x C-f /r:<remote host>:<path to remote file>
o 설정 : .emacs
(add-to-list 'load-path "~/emacs_lisp/tramp/lisp/")
(require 'tramp)
(add-to-list 'Info-default-directory-list "~/emacs_lisp/tramp/text/")
(setq tramp-default-method "scp"
출처: http://ppiazi.springnote.com/pages/699855?print=1