편집기는 종교와 같다.
프로그램을 작성할 때 무엇을 가지고 작성하는가. 편집기(editor)를 가지고 작업을 한다. 물론 IDE(통합개발환경)도 있겠지만, 본연에 더 충실한 도구는 편집기이다. 나는 그 수많은 편집기 중 vi를 좋아한다.
편집기는 종교와 같다. 권할 수는 있지만, 강요할 순 없다.
매우 유치한 질문이 있다. '프로그래밍 언어 중 어떤 게 최고예요?' 주어진 상황도 없고, 환경이 제한되지도 않았다. 항상 최고의 답을 주는 프로그래밍 언어가 있다면 얼마나 좋을까..
매우 유치한 질문이 또 있다. '어떤 편집기가 좋아요?'. 고작 12개의 문자로 수많은 사람들을 싸움 붙일 수 있다. 편집기는 취향이다. 선호와 취사선택의 대상을 가지고 우열을 가릴 수는 없다.
나는 시작을 vi로 시작했다. 몇 차례 emacs에게 전도당해 시도를 해봤으나, 개종하지 못했다.
vi를 처음 키면 패닉에 빠진다. 글자를 쓸 수도 없고, 프로그램을 종료하기도 어렵다.
패닉 하는 모든 사람들과, 과거의 나를 위해 어떤 착한 사람들이 예쁘게 그림을 그려줬다.
저 그림을 처음 본다면 이해가 안 되는 게 정상이다. 사용법이 복잡하다 정도를 알려주기 위한 자료들이다.
vi는 다소(꽤) 복잡하다. 다소(꽤)복잡함을 넘어서면 신세계가 펼쳐진다.
문서를 편집하는 데 있어서, 손이 문자열 자판을 벗어나지 않는다.
각종 단축키들로 인해 마우스가 필요하지 않고, 손이 키보드 중앙을 벗어나지 않는다.
덕분에 해피해킹과 같은 미니 키보드만 사용한다.
모드가 나뉘어 있어서 편집이 용이하다.
방향키까지 가지 않고 hjkl, bw, g 등으로 움직이면서 복사y 와 붙여넣기p 등을 마음껏 할 수 있다.
한 줄 선택, 컨트롤 c, 컨트롤 vvvv, 하는 동작을 yy4p로 끝낼 수 있다.
정규표현식을 사용하기 참 편하다.
여러 문자열을 바꾸거나, 지우거나 할 때 쓸 수 있는 정규표현식을 사용하기 쉽다.
대부분의 리눅스 머신에는 깔려있다.
서버 작업을 하면서 어디서든 내가 익숙한 에디터를 불러올 수 있다는 것 자체도 굉장한 효율이다.
나는 문서를 편집할 땐 항상 vi를 켠다. 적어도 vi 모드가 지원되는 에디터를 켠다. (gVim, atom, haroopad...)
물론 대부분의 IDE가 지원하고 있지만, vi 플러그인 없는 IDE는 사용하지 않는다. vi로 인해 내 작업효율이 3배 이상은 좋아졌다고 장담할 수 있다.