vim은 어디에나 있다

vim은 어디에나 있다

vim은 어디에나 있다?

리눅스를 사용하고 있다면 vim을 한번쯤 사용해봤을 것이다. 모르긴 몰라도, 엄청난 고통을 받았을 것이다. 그리고 누군가는 지금도 고통을 받고 있을 것이다.

특히, vim을 끄는 방법은 아직까지도 알려져있지 않아서 많은 사람들이 그에 대해 질문한다. 리눅스를 3년째 사용중인 필자 역시 아직도 3년 전에 킨 vim을 끄지 못하여 여전히 사용중이다.

[vim을 탈출하지 못해 2년째 사용중인 개발자의 안쓰러운 tweet](https://programmerhumor.io/programming-memes/always-worth-the-investment-in-the-learning-curve/)
vim을 탈출하지 못해 2년째 사용중인 개발자의 안쓰러운 tweet

그렇게 몇 년간 vim을 사용하다보니 알게된 것인데, 리눅스 생태계에서 vim은 단순한 파일 편집기가 아니다. 리눅스에서 vim은 일종의 기준점, 혹은 좀 더 거창하게 철학이다. 그래서 그런지, 내가 파일 편집에 vim을 사용하지 않더라도 다른 소스들로부터 vim의 영향력을 느끼게 된다. 심지어 vim의 영향력은 windows에까지 닿는다.

vim의 영향력은 windows에까지 닿는다.

필자가 처음 vim key1를 익히게 된 것은 리눅스를 사용하기 훨씬 전, 그러니까 windows를 쓸때, chrome의 extension인 vimium 을 통해서였다. vimium은 마우스 없이 웹브라우징을 가능하게 하는 exstension으로, vim에서 사용하는 키들에 기반하여 설계되었다.

vimium을 익히게 되면 웹브라우징을 하는데 마우스를 거의 사용할 일이 없다. 극히 일부 표준에 맞춰 코딩되지 않은 사이트들을 제외하곤, 모든 것을 키보드로 처리할 수 있기 때문이다. 한번 mouse-free의 맛을 보게 되면 다른 프로그램들에서도 그 편리함을 누리고 싶어진다. (덤으로 키보드도 좋은 걸 쓰고 싶어진다.)

운이 좋게도, 리눅스에서는 이런 vim key를 채택한 굉장히 많은 프로그램들이 존재한다. 또한, 대부분의 패키지들이 키 바인딩을 자유롭게 바꾸는 기능을 제공하므로 vim key로 직접 세팅할 수도 있다.

vim key를 채택하는 패키지들

필자가 사용하는 리눅스 패키지들만해도 vim 키를 지원하는 패키지들이 이렇게 많다.

  1. obsidian의 vim mode
  2. vscode의 vim extension
  3. vimium - chromium 기반 브라우저 extension
  4. zathura - vim 기반 pdf reader
  5. 모든 window manager (e.g. dwm, i3wm, hyprland, etc…)
  6. yazi - cli 기반 파일 매니저
  7. less - cli pager

아마 훨씬 더 많은 패키지들이 있을 것이다. 말그대로 리눅스 전반에 퍼져있다.

vim에 대한 의존도가 높아지면 재밌는 일이 벌어진다. 오늘은 출근하고 이것저것 작업을 하고 있었다. 그러다 마우스를 딱 쓰려고 잡았는데, 움직이지 않는게 아닌가? 뭐지? 알고보니 내가 마우스 전원을 켜지 않은 채 한 20분은 작업을 한 것이었다. 재밌는 일이다.

그래서, 어떻게 vim을 시작할까?

이번 포스팅에서는 vim 사용법같은 진부한 얘기는 일절 하지 않았다. 다만, vim을 손에 잡기로 마음먹으면 보이는 것과 경험하는 것들에 대해서 얘기했다. 이 좋은 걸 나만 알 순 없었다.

필자는 강력하게 vim을 배워보는 걸 추천한다. 곧바로 vim으로 시작하는 것은 어려울 수 있으니, 필자와 같이 브라우저에 vimium을 설치하고 사용하는 것부터 시작해보시라. 그럼 자연스럽게 vim며들게 될 것이다.


  1. vim에서 쓰는 키 바인딩을 얘기한다. 예를들면, hjkl 각각은 좌하상우 키로 맵핑되어 있다. ↩︎

Last updated on