2013년 3월 1일 금요일

[Emacs] 모드 사용법 및 단축키 도움말 시스템

Emacs의 도움말 시스템인 C-h 키는 Emacs를 사용하는 도중 굉장히 자주 이용하게 될 도움말 키이다. Tutorial은 이제 Emacs를 시작하는 이들에게 좋겠지만, 개인적으로 이 도움말 단축키 중 하나를 꼽으라면 바로 C-h m 키를 꼽고 싶다. 특히 단축키가 기억나지 않거나 궁금할 때 이용 할 수 있는 최고의 단축키이다.

Emacs를 사용 중이라면 언제이든 관계 없다. 코딩을 하던 테트리스(-_-)를 하던 간에 아무 버퍼에서 C-h m 을 눌러보자. *Help* 버퍼가 나타나면서 엄청난 길이의 도움말이 나타난다.
Elisp 코드 편집 중 C-h m 키를 누른 화면

C-h m 키는 현재 활성화된 모든 모드(mode)에 관한 도움말이 나타난다. 메이저(Major)모드 및 마이너(Minor)모드 전부 포함된 내용이다.

제일 상단에는 활성화된 모드 목록이 보인다. 각 모드 이름이 강조가 되어 있는데 커서키를 옮겨서 엔터를 눌러보면 해당 모드에 대한 도움말을 볼 수 있다.

그리고 그 하단에는 메이저모드에 대한 설명 및 단축키 도움말이 나온다. 이 부분이 가장 중요하다. 메이저모드는 현재 편집 중인 파일에 대해 Emacs가 어떻게 동작할지를 가장 최우선으로 결정해 주는 역활이다. 따라서 중요 단축키는 여기서 확인이 가능하다.

그 아래 부터는 현재 작동 중인 마이너모드에 대한 도움말이 줄줄이 나타난다. 사용하는 마이너모드가 많으면 많을 수록 길어질테니 원하는 것을 찾기에는 인내심이 필요할지도 모른다.

다만 이 화면에서는 global-key-map 즉 모드와 관계 없이 Emacs 에서 항상 이용이 가능하도록 등록한 단축키는 표시가 안된다. 염두에 두자.

모드 도움말 페이지는 여러가지 의미로 중요하다.
  • 모드의 설명이나 사용법
  • 모드의 단축키
  • 단축키에 배정된 함수
특히 함수를 확인 할 수 있다는 건 이 모드에서 쓸 만한 개인용 스크립트를 작성 할 때 혹은 특정 모드 용 마이너모드 개발에도 유용하다.

물론 기존 모드의 소스를 분석할 때도 유용하다. 도움말에서 강조된 파일명.el 링크는 실제 Elisp 스크립트로 점프하는 링크이다. 만약 모드 개발에 관심이 있다면 기존 소스를 둘러보는 건 필수라고 볼 수 있다.

도움말 시스템은 이 외에도 아래 몇 가지 추천할 만한 기능이 있다.
  • C-h k: 단축키를 눌러서 이 단축키에 배정된 기능이나 함수을 확인 할 수 있다.
  • C-h f: 특정 함수의 도움말(거의 레퍼런스 문서 수준-_-)을 표시해준다.
  • C-h v: 특정 변수의 역활을 알려준다.
도움말 시스템은 이 외에도 많은 내용이 있지만 개인적으론 위에서 나열한 기능을 주로 이용한다. 단순히 생각해보면 편집기 주제에 별 희안한 도움말을 가장한 특정 언어 레퍼런스 문서를 제공하는 것 같다. 그런데 기억하자. Emacs는 단순한 편집기가 아니라 편집기 기능을 포함하는 Elisp 실행 환경이다.

도움말은 굉장히 중요하고 도움이 된다. 물론 당장 익힐 때는 한글로 된 튜토리얼 문서를 주로 찾아 보겠지만 익숙해지면 C-h 는 유용하고 필수이다.

약간의 여담. 최강의 경쟁상대(?)인 Vim의 경우 :help 커맨드가 비슷한 역활을 하는데, Vim도 VimScript 도움말이 있기 때문에 레퍼런스 문서 틱하다. -_-;;;

댓글 없음 :