본문 바로 가기

[ 테크 ]

vim과 방향키. 왜 컴퓨터 도사들은 HJKL을 어루만지나?

by김국현

vim과 방향키. 왜 컴퓨터 도사들은
영화 매트릭스 이래 클리셰가 되어 버린 장면이 있다. 검은 화면에 깜빡이는 글자들을 수놓는 컴퓨터 전문가의 손가락들. 21세기인 지금도 해커나 프로그래머는 여전히 ‘터미널’이라고 불리는 20세기식 전산 단말을 화면에 띄워서 그곳에서 작업하곤 한다.

 

아이콘도 메뉴도 마우스 커서도 없는 비 GUI적 공간은 몰입을 부른다. F와 J키 위의 돌기를 만지작거리던 검지는 발돋움 하듯  리듬감 있게 키보드를 두드린다. 깜빡이는 커서를 옮기기 위해 해커의 손가락은 화살표 모양 방향키로 옮겨가지 않는다. 별도로 마련된 화살표 커서 키란 초보자용 컴퓨터에나 있는 것이라 느껴서일까. 멀쩡한 방향키가 있어도 어지간하면 전통을 지키려 한다. 광속으로 타이핑하다가 머나먼 오른쪽 아래로 손가락을 옮겨 방향키를 누르는 일은 해커답지 않은 일일지도 모른다. 커서는 응당 HJKL로 움직여야 한다. 익숙해지면 손목에 부담도 없고 훨씬 편하다.

 

...라고 말은 나도 하지만, 이것이 정말 편한 것인지 해커 문화의 세뇌 때문인지 방향키가 아닌 HJKL 키로 커서를 움직이는 나 자신에 감탄했던 추억이 아집이 된 것인지는 알 수 없다. 

 

바로 vim이라는 에디터(문서 편집기) 이야기다. 프로그래머나 SE, 혹은 파워 유저를 가늠하는 척도로 이 에디터를 쓸 수 있는지를 확인하는 야릇한 문화가 있다. 시스템의 위기를 구하러 급파된 전문가가 vim을 쓸 줄 모르면 신뢰가 떨어지고 창피한 일인 셈이었다. 적어도 그러한 동조압력(Peer Pressure)은 존재했다.

 

그런데 이 vim이라는 물건은 스마트 시대를 사는 현대인에게는 좀처럼 직관적이지 않은 존재다. 입력을 하고 싶으면 i 를 눌러 입력 모드로 들어가고 다 쳤으면 ESC 키를 눌러 다시 명령 모드로 빠져나오라고? 왜? 도대체 왜 그래야 하는데?!

 

vim의 역사를 되짚어 보면 모두 이해가 간다. vim은 갑자기 튀어나온 에디터가 아니라 호걸들이 만들어낸 컴퓨터 역사의 축적판이기 때문이다.

 

1964년 QED라는 에디터가 버틀러 램슨(제록스 연구소의 설립 멤버)에 의해 만들어지고 이를 본뜬 71년의 ed는 켄 톰슨(C언어의 창시자)에 의해 재고안된다. 그리고 이를 다시 본떠 드디어 vi가 빌 조이(썬 마이크로시스템즈의 공동 창업자)에 의해 76년에 다시 만들어지기 전까지 모든 조작법 하나하나에는 사연이 담겨 있다.

 

예컨대 그 옛날에는 모니터 대신 명령의 결과를 한 줄 씩 종이에 인쇄하는 텔레타이프 단말이 있었다. 처음 그 시작은 스크린 에디터가 아니라 이런 환경에서 쓰기 위한 라인 에디터였던 셈이니, 명령 모드의 존재가 이해가 간다.

 

오늘날 널리 쓰이는 vim은 네덜란드의 프로그래머 브람 무레나르(bram moolenaar)가 91년에 만든 vi의 개량판(Vi IMproved)이다. vi는 훌륭했지만 라이센스 탓에 자유롭게 배포하기 힘들었고, 이를 회피하기 위해 등장한 Stevie라는 클론이 등장한다. 그러나 브람은 이를 당시 유럽에서 대히트를 쳤던 아미가라는 홈컴퓨터용으로 만들고 싶어했는데, 이 사소하고 소박한 취미가 오늘날 vim의 대하드라마를 만들 줄은 당시의 그는 몰랐을 것이다. vim은 GNU 기반의 강한 오픈소스를 선택했기 때문에 지구 상 대개의 컴퓨터에 이식되어(심지어 라즈베리 파이와 같은 IoT 기계에서도) 언제 어디서나 돌고 있다. 구글은 그 공적을 기린 것인지 2006년 그를 채용하고 계속 vim을 손보게 내버려 둔다.

 

그런데 이 vim은 많은 이들에게 애증의 존재다. 아무리 화면에 띄워 놓기만 해도 전문가처럼 보이게 하는 에디터라지만 벽에 붙여 놓은 치트시트로 컨닝을 하면서 익혀도 마음처럼 되지 않는다. 매일 수 시간씩 일을 하며 손으로 외우지 않으면 결국은 숙달되지 않는 도구이기에 정말 전문가를 판별해 내는 가늠자일 수 있었던 것이다. 

 

손가락이 머나먼 방향키까지 왕복해야 하는 일이 줄어 손목에 좋고, 몇 줄씩 카피한다거나 단어를 다루는 일도 쓰기 시작하면 시프트와 방향키로 다루는 것보다 오히려 훨씬 빠르다. 이에 중독되면 일부러 방향키등을 없애버린 금욕적인 키보드를 굳이 구해서 사용하기도 한다. 명령 모드와 입력 모드의 전환 또한 사연을 알고 나면 합리적이다. 일부 용자 중에는 모드 전환을 하기 위해 ‘VIM 클러치’라고 발로 밟는 페달을 만든 이도 있다. ESC키가 불편해져 버린 맥북 프로에서도 무서울 것이 없을 것만 같다. 

 

그렇지만 이와 같은 vim 찬가도 vim과 종교전쟁 같은 에디터 전쟁을 겪어온 emacs 사용자들에게는 아무래도 좋은 일일 것이다. 컴퓨터란 하면 할수록 그 재미에서 빠져나올 수 없는데, 그 원인은 아마도 이러한 다양성과 역사가 오늘에 여전히 녹아든 채 미래를 만들어 가고 있다는 점 때문일 것이다.