2018년 12월 20일 목요일

창 및 버퍼 관리

창과 버퍼


  • 기본적으로 화면에 표시되는 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 키와 방향키 위/아래 로 창 이동


댓글 없음:

댓글 쓰기