GNUEmacsManual:Introduction
- 서론
서론
본 저서는 GNU의 고급의 자체 문서화, 맞춤화, 확장 가능한 편집기인 Emacs, GNU Emacs에 관한 책이다. (GNU(GNU는 Unix가 아니다)의 G는 묵음이 아니다.)
Emacs를 고급이라고 부르는 이유는 텍스트의 단순한 삽입이나 삭제 이상을 실행할 수 있기 때문이다. 하위프로세스를 통제하고, 자동으로 프로그램을 인덴트하며, 한 번에 여러 파일을 표시하는 등 작업이 가능하다. Emacs 편집 명령어는 문자, 단어, 행, 문장, 문단, 페이지별로 작업하고, 다양한 프로그램 언어에서 표현식과 주석에도 작업한다.
자체 문서화란 의미는 언제든 도움말 명령어(help commands)라고 알려진 특수 명령어를 이용해 본인에게 어떠한 선택권이 있는지, 각 명령어가 무슨 일을 하는지, 또는 주어진 주제에 관련된 모든 명령어를 알아낼 수 있다. 37페이지의 7장 [도움말]을 참고한다.
맞춤화란 Emacs 명령어의 행위를 단순한 방법으로 쉽게 수정할 수 있음을 의미한다. 가령 '<**'로 시작하여 '**>'로 끝이 나는 명령어가 있는 프로그래밍 언어를 사용한다면 그러한 문자열을 사용하도록 Emacs 주석 조작 명령어에게 알려줄 수 있다(249페이지의 23.5절 [주석] 참고). 또 다른 예를 들자면, 기본 커서 움직임 명령어를 (상, 하, 좌, 우) 키보드에서 본인에게 편리한 키로 바인딩 가능하다. 이는 412페이지의 33장 [맞춤화]를 참고한다.
확장 가능성은 단순한 맞춤화를 넘어 완전히 새로운 명령을 생성할 수 있음을 의미한다. 새로운 명령은 Emacs 고유의 Lisp 해석기가 실행하는 Lisp 언어로 작성된 프로그램을 의미한다. 편집 세션 중간에 Emacs를 재시작하지 않고 기존 명령어를 재정의할 수도 있다. Emacs에 대부분의 편집 명령어는 Lisp로 작성되고, 몇 가지 예외도 Lisp로 작성할 수 있지만 효율상 C를 사용하도록 한다. 확장 명령어를 쓰는 행위는 프로그래밍에 해당하지만 프로그래머가 아니라 하더라도 이후에 사용할 수 있다. Emacs Lisp 프로그래밍에 대해 배우고 싶다면 An Introduction to Programming in Emacs Lisp의 "Preface"를 참조한다.