창과 버퍼
- 기본적으로 화면에 표시되는 1개의 창이 필요
- 화면에 1개 이상의 창을 분할하여 사용할 수 있음
- 창 하나에 하나의 버퍼가 표시됨
- 파일을 열었다던가 디렉토리 탐색을 한다던가 여러 목적의 버퍼들이 다수 떠 있을 수 있지만 화면에 보이는 버퍼의 개수는 현재 표시되는 창의 개수로 한정됨
버퍼 관리
주로 보면 텍스트 편집류의 버퍼와 편리 기능성류의 버퍼들로 나뉘어 각 버퍼 특성에 따라 인터페이스가 공통된 성향을 보임
텍스트 편집류의 버퍼는 소스 코드나 텍스트 파일 등의 주로 내용을 변경하는 위주의 버퍼
키 입력이 기본으로 버퍼에 입력되며 C-<키> 또는 M-<키> 조합의 키로 확장 기능을 제공
편리 기능성의 버퍼는 디렉토리 탐색이나 컴파일 결과 등의 버퍼 내용을 변경하기 보다는 내용을 탐색하는 위주의 버퍼
버퍼 내용을 수정하는 것이 목적이 아니기 때문에 C-<키> 또는 M-<키> 조합이 아닌 일반 키 입력만으로 기능을 제공하는 경우가 많음
공통
- C-x b <버퍼명> RET - 현재 창에 버퍼 변경
- C-x C-b - 버퍼 목록 표시
주의) 아래는 개인적인 관점에서 나눈 것이며 실제 버퍼 특성에 따라 다를 수 있음
텍스트 편집류 버퍼
- C-n - 커서를 이전 줄로 이동
- C-p - 커서를 다음 줄로 이동
- C-v - 페이지 다운
- M-v - 페이지 업
- C-f - 커서를 한글자 앞으로 이동
- C-b - 커서를 한글자 뒤로 이동
- C-a - 커서를 해당 줄의 맨 앞으로 이동
- C-e - 커서를 해당 줄의 맨 뒤로 이동
편리 기능성 버퍼
- n - 커서를 이전 줄로 이동
- p - 커서를 다음 줄로 이동
- q - 창 닫기 (버퍼는 없애지 않음)
- m - 선택 (커서 위치의 항목)
- u - 선택 해제 (커서 위치의 항목)
- U - 모든 선택 해제
- x - 수행
- g - 화면 갱신
창 관리
일반적으로 창을 닫아도 버퍼는 없어지지 않음
단축키
- C-x 2 - 가로로 분할 (위, 아래로 창 분할)
- C-x 3 - 세로로 분할 (왼쪽 오른쪽으로 창 분할)
- 참고로 필자는 잘 사용하지 않으며 창을 2개 넘게 분할해서 사용하는 경우는 별로 없음
- C-x 0 - 현재 창 닫기
- C-x 1 - 현재 창을 제외한 다른 모든 창 닫기
- C-x o - 커서를 다른 창으로 이동
- 왼쪽에서 오른쪽으로 이동하며 위쪽에서 아래쪽으로 이동
팁
단축키 지정
.emacs 에 추가
(define-key global-map (kbd "ESC <up>") (lambda () (interactive) (other-window -1)))
(define-key global-map (kbd "ESC <down>") 'other-window)
(define-key global-map (kbd "<M-up>") (lambda () (interactive) (other-window -1)))
(define-key global-map (kbd "<M-down>") 'other-window)
- Alt 키와 방향키 위/아래 로 창 이동
댓글 없음:
댓글 쓰기