아직도 Emacs를 쓰는 이유
내 작업 공간 한켠에는 항상 Emacs가 떠 있다. 코딩은 VS Code나 IntelliJ에서 하지만, 글을 쓰거나 생각을 정리할 때는 자연스럽게 Emacs로 돌아온다. 최신 프로그램이 넘쳐나는 세상에서 왜 나는 아직도 이 구닥다리 에디터를 떠나지 못하는가? 예전에 어디선가 작가나 기자가 글쓰기 도구로 Emacs를 사용한다는 글을 읽고 신기하게 생각한 적이 있다. 시간이 지나고 보니 그 이유를 조금은 이해할 수 있을 것 같다.
워드 프로세서나 GUI 에디터로 글을 쓸 때는 자꾸 서식에 신경을 쓰게 되어 글쓰기 흐름이 끊긴다. 내용을 채우는 것보다 글의 겉모양을 다듬는 데 시간을 허비하게 된다. 특히 코드를 포함한 글을 작성할 때 코드 블록의 모양을 맞추는 일이 상당히 성가시다. Emacs에서는 글 내용에 집중하면서도 코드 블록을 쉽게 다룰 수 있다. Emacs가 오랫동안 코드 편집기로 사용되어 왔다는 점을 생각하면 놀라운 일은 아니다.
Emacs에는 fill-paragraph라는 기능이 있는데 이 녀석을 활용하면 텍스트
파일의 단순함을 유지하면서도 단락을 읽기 좋은 형태로 정리할 수
있다. 기본 키 바인딩은 M-q인데, Emacs에서 글을 작성할 때는 수시로
M-q를 누르게 된다. 특히 Emacs의 한글 편집 경험이 만족스럽다. 다른
여러 에디터를 사용해 봤지만 한글과 영어가 섞인 긴 글을 작성할 때
Emacs가 가장 편했다.
예전에 작성한 글을 다시 읽다 보면 꼭꼭 숨어 있던 오탈자를 뒤늦게 발견하곤 한다. 아무리 여러 번 검토해도 사람 눈으로는 한계가 있다. 글쓰기 도구로 Emacs를 사용할 때 가장 아쉬웠던 점은 한국어 맞춤법 검사기가 없다는 것이었다. 그래서 AI의 도움을 받아 Emacs용 한국어 맞춤법 검사기 hanfix-mode를 만들기도 했다. 필요한 기능을 직접 추가해 사용할 수 있다는 점 역시 Emacs의 매력이다.
org-mode는 생각을 정리하는 도구다. 글의 구조를 잡고 필요한 내용을 채워 넣을 수 있어 긴 글을 쓸 때 도움이 된다. 블로그 글은 markdown-mode를 사용하지만, 아이디어를 정리하거나 할 일 목록과 일정을 관리할 때는 org-mode를 사용한다. 최근에는 org-roam도 함께 사용하고 있다. 떠오른 아이디어나 메모를 서로 연결해 두면 시간이 지나면서 생각이 발전하고, 때로는 하나의 글로 이어지기도 한다.
Emacs에서 작성한 내용은 모두 텍스트 파일로 저장한다. 텍스트 파일은 특정 프로그램에 종속되지 않는다. Emacs뿐 아니라 어떤 텍스트 에디터로도 열 수 있고, grep 같은 도구로 검색하거나 Git으로 버전 관리하기도 쉽다. Git을 주로 명령행에서 사용하지만, Emacs를 사용할 때는 magit도 함께 사용한다. 지금까지 여러 Git 클라이언트를 써 봤지만, magit만큼 만족스러운 도구를 만나지 못했다.
예전에는 Python, JavaScript, Clojure 같은 언어로 코딩할 때 Emacs를 사용했다. Java로 개발할 때는 Eclipse나 IntelliJ IDEA를 사용했지만, 그 외 다른 언어로 코딩할 때 Eclipse나 IntelliJ는 너무 무거운 것 같았다. 그러나 Emacs를 각 언어 환경에 맞게 설정하는 일에는 품이 많이 들었다. Emacs에서 Rust 개발 환경을 구축해보려 했지만, 알 수 없는 오류와 씨름하다 결국은 포기하고 말았다.
반면 글쓰기, 할 일 목록 및 일정 관리, 아이디어 정리를 할 때는 Emacs를 쓴다. Emacs를 고집하는 것은 아니다. 지금껏 몇 가지 다른 도구를 시도해 봤지만 내 요구사항을 모두 만족하는 것은 Emacs뿐이었다. 더 좋은 글쓰기 도구가 있다면 갈아탈 수도 있지만, 적어도 지금까지는 내 생각을 정리하고 글을 쓰는 데 가장 잘 맞는 도구는 Emacs다.