DS Blog

Text Editor: Vim

David Shin

Home

Contents

List2022

Post20220331

나는 텍스트를 많이 다루는 일을 한다. 주로 노트북을 사용해서 일하는데, 당연히 그에 맞는 소프트웨어가 필요하다. 흔히 생각하는 대표적인 도구로 Microsoft Word나 LibreOffice Writer 같은 워드프로세서 종류가 있고, 전문 작가를 위한 별도의 프로그램들 역시 존재한다. 그러나 나는 텍스트 에디터를 사용한다. 보통 텍스트 에디터는 프로그래밍에 주로 사용하지만, 일반적인 글쓰기나 편집에도 매우 유용하다. 텍스트 편집이라는 기본 목적에 충실하면서, 가볍고 범용성이 높기 때문이다. 그 밖의 자세한 내용은 생략하겠다. 원한다면 인터넷 검색을 통해 쉽게 정보를 찾을 수 있다. 어쨌든 나는 텍스트 에디터를 사용한다.

그리고 텍스트 에디터계의 양대 산맥이라고 할 수 있는 프로그램이 바로 Vim과 Emacs다. 물론 그 외에도 수 많은 텍스트 에디터가 존재하고, 시대와 유행에 따라 인기 있는 프로그램이 바뀌어 왔지만, Vim과 Emacs는 수십 년 동안 최고의 자리를 지키고 있다. 이제는 단순한 프로그램이 아니라 일종의 문화가 되어버린 느낌이다. 둘 사이의 경쟁도 치열해서, Editor War라는 말이 있을 정도다.

당연한 얘기지만, Vim과 Emacs 중에서 어느 한쪽이 더 낫다고 단정적으로 결론을 내릴 수는 없다. 둘 다 다양한 기능과 고유의 장단점을 가지고 있는데, 정말 간단히 요약하자면 Vim은 상대적으로 기능이 적은 대신에 단순 명확하고 용량도 작은 반면, Emacs는 OS라고 불릴 정도로 기능이 많은 대신에 그만큼 복잡하고 무겁다.

나는 Vim을 선택했다. 어차피 나에게는 Vim이 가진 기능만으로도 충분하기 때문에 Emacs의 어마어마한 기능들은 크게 의미가 없다. 만약 그 많은 기능들이 꼭 필요한 상황이라면 Emacs가 더 나은 선택이 될 수 있겠지만, 어쨌든 난 아니다. 사실 나도 Emacs에 매력을 느껴 여러 번 시도해 봤지만, 복잡함과 불편함 때문에 포기하고 말았으며, 결국 나에게는 Vim이 더 적합하다는 결론을 내렸다.

단, 앞서 Vim에 대해 설명한 내용은 어디까지나 Emacs와 비교했을 때 그렇다는 얘기다. Emacs만큼은 아닐지 몰라도, Vim 역시 매우 다양한 기능을 가지고 있고 꽤나 복잡하기 때문에, 결코 배우기 쉬운 에디터가 아니다. 일단 익숙해지면 큰 도움이 되지만, 그 단계까지 도달하기가 어려운 것이다. 그리고 이를 보완하기 위해 자체적인 Tutorial, 즉 Vim Tutor를 가지고 있다. 그냥 읽기만 하는 Manual이 아니라, 직접 텍스트 편집을 실습하면서 Vim의 기능을 배울 수 있는 아주 좋은 교재다. 한 가지 아쉬운 점은, Vim Tutor는 가장 기본적인 내용만 다루기 때문에 일부 중요한 기능에 대한 설명이 누락되어 있다는 점이다. Vim의 방대한 기능을 생각하면 이는 어쩔 수 없는 부분인 것 같다. (물론 나와 비슷한 초보자에게는 Vim Tutor만으로도 충분하다.)

사실 프로그래머나 시스템 관리자 또는 IT 업계 종사자라면 (꼭 사용은 하지 않더라도) 누구나 Vim을 잘 알 것이다. 그만큼 유명한 프로그램이다. 그러나 그 밖의 분야에서도 충분히 활용할 수 있다는 것이 좀 더 널리 알려졌으면 좋겠다.

https://www.vim.org

# PS: 미련을 버리지 못해 다시 Emacs에 도전했고, 수많은 시행착오를 거쳐, 지금은 완전히 Emacs에 정착했다. (사실, 지금 이 블로그 역시 Emacs로 만든 것이다.) 단, 이는 어디까지나 취향의 문제일 뿐이며, 앞서 적은 Vim과 Emacs의 장단점은 여전히 유효하다.