brunch

vi예찬

편집기는 종교와 같다.

by 김재즈

프로그램을 작성할 때 무엇을 가지고 작성하는가. 편집기(editor)를 가지고 작업을 한다. 물론 IDE(통합개발환경)도 있겠지만, 본연에 더 충실한 도구는 편집기이다. 나는 그 수많은 편집기 중 vi를 좋아한다.


편집기는 종교와 같다. 권할 수는 있지만, 강요할 순 없다.


매우 유치한 질문이 있다. '프로그래밍 언어 중 어떤 게 최고예요?' 주어진 상황도 없고, 환경이 제한되지도 않았다. 항상 최고의 답을 주는 프로그래밍 언어가 있다면 얼마나 좋을까..


매우 유치한 질문이 또 있다. '어떤 편집기가 좋아요?'. 고작 12개의 문자로 수많은 사람들을 싸움 붙일 수 있다. 편집기는 취향이다. 선호와 취사선택의 대상을 가지고 우열을 가릴 수는 없다.


나는 시작을 vi로 시작했다. 몇 차례 emacs에게 전도당해 시도를 해봤으나, 개종하지 못했다.

r_83706_36LLz.jpg 시간에 따른 편집기 학습 곡선이다. 중앙에 있는 vim이 내 오랜 친구다. emacs의 학습곡선도 매우 특이하다.


vi를 처음 키면 패닉에 빠진다. 글자를 쓸 수도 없고, 프로그램을 종료하기도 어렵다.

vi-vim-cheat-sheet-ko.png

패닉 하는 모든 사람들과, 과거의 나를 위해 어떤 착한 사람들이 예쁘게 그림을 그려줬다.


저 그림을 처음 본다면 이해가 안 되는 게 정상이다. 사용법이 복잡하다 정도를 알려주기 위한 자료들이다.


vi는 다소(꽤) 복잡하다. 다소(꽤)복잡함을 넘어서면 신세계가 펼쳐진다.

문서를 편집하는 데 있어서, 손이 문자열 자판을 벗어나지 않는다.

각종 단축키들로 인해 마우스가 필요하지 않고, 손이 키보드 중앙을 벗어나지 않는다.

덕분에 해피해킹과 같은 미니 키보드만 사용한다.

2566767031_ab775729f7.jpg


모드가 나뉘어 있어서 편집이 용이하다.

방향키까지 가지 않고 hjkl, bw, g 등으로 움직이면서 복사y 와 붙여넣기p 등을 마음껏 할 수 있다.

한 줄 선택, 컨트롤 c, 컨트롤 vvvv, 하는 동작을 yy4p로 끝낼 수 있다.


정규표현식을 사용하기 참 편하다.

여러 문자열을 바꾸거나, 지우거나 할 때 쓸 수 있는 정규표현식을 사용하기 쉽다.


대부분의 리눅스 머신에는 깔려있다.

서버 작업을 하면서 어디서든 내가 익숙한 에디터를 불러올 수 있다는 것 자체도 굉장한 효율이다.


나는 문서를 편집할 땐 항상 vi를 켠다. 적어도 vi 모드가 지원되는 에디터를 켠다. (gVim, atom, haroopad...)


물론 대부분의 IDE가 지원하고 있지만, vi 플러그인 없는 IDE는 사용하지 않는다. vi로 인해 내 작업효율이 3배 이상은 좋아졌다고 장담할 수 있다.

keyword
매거진의 이전글프로그래밍 언어