Vim?

Vim을 사용한지 8년 정도 된 것 같습니다. 지금 돌아보면 그런 인고의 세월이 있었다는 것이 새삼 놀랍기도 하지만, 당시에는 게임 서버를 MS Windows 기반으로 개발을 했습니다. 특별히 MS 제품군에 악의적인 감정이 있다거나 하는 것은 아니고 단지 응용 프로그램 다루듯 개발을 하던 예전 모습이 잘 상상이 안된다는 것이죠. 마우스 클릭 클릭, 화살표 키 다다다닥. 당시 회사를 옮기면서 Linux 기반으로 업무를 진행하게 되었고, 제일 걱정이 되었던 것은 바로 VIM이었습니다. Linux하면 Vim, Vim하면 Linux같은, 누구도 강요하지 않지만 암묵적으로 강요받는 그런 녀석인것이죠. 하지만 어느 정도 세월이 지난 지금은 새로운 에디터를 사용할때면 어김없이 vim 키 바인딩을 지원하는 extension이 있나 살펴볼 정도가 되었습니다.

vim shortcuts

Vim을 한 마디로 정의하자면, 손을 움직이지 않는 개발이라고 할 수 있겠습니다. 이것에 익숙한 사용자는 손을 크게 움직이지 않습니다. 키보드로 문장을 적을 때는 문자 자판을 주로 치기 때문에 손의 위치가 거의 변함이 없지만 코딩을 할 때에는 소설처럼 그냥 쭈욱 써내려가는 것이 아니고 복사, 붙여넣기, 커서 위, 아래, 페이지 업, 다운, 줄 복사, 블럭 복사, 줄 삭제, 파일 전환하기 등 정말 다양한 동작들의 향연이 벌어집니다. 제한적인 키 개수로 많은 작업을 하려다보니 알트나 컨트롤키와 같은 특수키와의 조합이 불가피해졌지만, 사실 잘 들여다보면 특수키와의 조합들도 사실은 인간의 직관에 도움이 되는 방향으로 만들어집니다.

  • CTRL+C : Copy
  • CTRL+O : Open
  • COMMAND+Q : Quit

하지만 위 단축키 sheet에서 볼 수 있듯이 vim은 큰 맥락없이 편리함을 기준으로 키보드 배열을 꽉꽉 채웁니다.

  • yy : 복사
  • zz : 커서가 있는 문서 위치를 화면 중앙으로 이동
  • G : 커서를 파일 끝으로 이동

h, j, k, l

위대한 Chrome extension인, Vimium에 대해서는 사실 리뷰 할 것이 별로 없습니다. vim을 네비게이션 용도에 맞게 잘 맞춰 chrome 브라우저에 탑재한 것 뿐이니까요. 하지만, 이것만으로도 vim에 익숙한 사람들에게는 커다란 감동을 줍니다. 특히 f를 누를 때의 활홀함이란… (잠시 후에 그 황홀함을 공유해보시죠) 그래서 개인적인 바람은 vim을 써보지 않은 분들이 이 글을 읽으셨으면 하는 것입니다. 심지어 이 extension을 사용하면서 vim에 입문 하실 수도 있을거라고 생각합니다.

잠깐 vim의 기본이면서 가장 중요한 네비게이션 단축키들을 확인하고 가시죠. 이는 Vimium에도 그대로 적용됩니다.

  • h : 커서 왼쪽으로 이동
  • l : 커서 오른쪽으로 이동
  • j : 커서 아래쪽으로 이동
  • k : 커서 윗쪽으로 이동

왠 뚱딴지 같은 hjkl이냐 싶으시겠지만, 이것이 vim 1장 1절이자, 원자핵입니다. 오른손 검지는 항상 j위에 올려두고 이 4개의 키들로 기본적인 커서 이동을 하는 것이죠.

  • gg : 커서를 화면 최 상단으로
  • G : 커서를 화면 최 하단으로

네비게이션에서 그 다음으로 많이 쓰이는 키 조합이 아마 위 두개일 듯 하군요.

일단 이 정도만 알아도 Vimium을 이용해 마우스 없이 화면 이동을 쉽게 할 수 있습니다. 일단 f의 황홀함을 느낀 후 몇가지 필수 단축키들을 배워보죠.

f를 누르고 황홀함을 느끼다

vimium-f

바로 이것입니다!

f를 누르자마자 튀어나온 이 숏컷들을 보라… 마우스로 그 위치까지 이동해야하는 수고로움은 이제 끝이 났습니다. 100개의 링크도 문제없이 f 한벙에 두 글자 따닥이면 페이지가 이동됩니다.

이것만 알면 마우스 없이 브라우징하기 끝

기본 과정

  • ? : 단축키 목록 보기 - 자주 열면서 숙지하세요
  • u : 위로 스크롤 (up)
  • d : 아래로 스크롤 (down)
  • o : 검색창 열기 (open)
  • O : 새 탭에서 검색창 열기 (Open)
  • H : 히스토리 뒤로 가기 (History)
  • L : 히스토리 앞으로 가기
  • t : 새 탭 열기

심화 과정

  • J : 왼쪽 탭으로 이동
  • K : 오른쪽 탭으로 이동
  • x : 탭 닫기
  • / : 검색
  • n : 다음 검색 결과로 가기
  • N : 이전 검색 결과로 가기

위 내용만 기억하시면 마우스 usb 연결을 빼셔도 브라우징을 하는데 큰 무리는 없을겁니다.

설치

Chrome web store의 Vimium 링크는 여기입니다.

vimium-chromewebsstore

전 세계의 308,669번째 vimmer가 되어보세요. (LOL 골드 티어입니다) 브라우징을 넘어 vim 에디팅을 시도해 보실 분들께 큰 도움이 될 것이라 생각합니다.