2011년 5월 19일 목요일

[Emacs] 단축키 잡담

Emacs를 쓰면서 많은 단축키를 사용하게 되는데 이 중 C-c 그리고 C-x 가 굉장히 많다. 그런데 이 단축키는 그 자체로는 아무 역활을 하지 않는다.

C-c와 C-x는 트리커(즉 뭔가를 실행시키기 위한 키)에 가깝다. 그래서 이 다음에 이어지는 키에 따라 뭘 할지가 결정된다.

이 둘은 결정적으로 명확한 차이가 있다.
  • C-c는 Major-mode의 명령을 지시한다. (command to major-mode)
  • C-x는 전역적인, 즉 어디서나 사용 가능한 명령을 지시한다. (execute)
Emacs는 각 버퍼마다 한 가지의 메이저모드가 존재한다. C-c로 시작하는 단축키는 대부분 메이저모드에서 바인딩 하고 있는 형태다. 예를 들어 cvs-update나 magit-status 등에서 커밋메시지를 작성한 후 입력하는 C-c C-c는 메시지 입력 완료 및 커밋을 의미하는 단축키로, 비슷한 모드에서 많이들 사용하는 단축키이다.

C-x C-f (파일열기) 나 C-x b (버퍼전환) 같은 키는 굉장히 자주 쓰이는데 현재 모드와 관계 없이 쓰이는 키다.

난 이 두 키의 차이점을 깨닫는데 한참 걸렸다. -_-;;;;

물론 규칙으로 정해진 것이라곤 생각지않는다. 일종의 관습이 아닐까.

댓글 없음 :