Vimium으로 가볍게 Vim 입문하는 건 어떨까?

vim을 예찬하는 글입니다.
맨 처음에 코드 에디터로 sublime text를 주로 썼다.
이후엔 atom을 썼다. 나는 무료를 좋아한다.
그러다가 vscode가 나오고 (정확히 이유는 기억 안나지만 아마 속도 때문에?) 탭이 구현되지 않은 상태에서도 vscode를 쓰기 시작했다.
vscode에서도 vim extension을 깔아서 몇 번 시도는 해봤으나, vscode에 적당히 얹힌 느낌이라 은근 키 충돌이 있었다. 특히 atom keymap을 깔아서 쓰다보니 더 그랬는지도.
근데 vscode가 너무 느려져서 vscode의 대체제를 찾기 시작했다.
요건은 vscode보다 빠를 것, 그리고 여러 단축키를 잘 지원할 것.
zed도 잠깐 써봤는데 아직 생태계가 부족한 느낌.
neovim으로 입문했는데 생각보다 괜찮았다. 무엇보다, lua로 짜여졌는데도 빨라서 놀랐다. tui라서 어느 정도 메모리를 덜 먹는 걸까? 깊게 알아보진 않았지만, 최소한 나의 개발환경에서 neovim은 무척 빨랐다.
그리고 vscode에서 vim extension을 여러 번 시도해봤지만 번번히 실패했던 것과 다르게 이번에 neovim을 써봤을 때는 생각보다 잘 적응했다.
- 물론 요즘(?) tui 프로그램들이 마우스 클릭을 지원해서 초반에는 트랙패드를 많이 쓰긴 했지만..
어느정도 neovim에 익숙해진 지금와서 생각해보면 나의 neovim 적응을 도왔던 것은 vimium이었던 것 같다.
브라우저에서 키보드 단축키로 navigation 하는 것이 익숙해지다보니 vim에 대한 저항은 사라지고, 오히려 친숙하고 빠르게 웹서핑을 하는 것에 몰입을 느낄 정도였다.
심지어 vimium-like 인터페이스를 macOS 레벨에서 적용할 수 있는 homerow를 알게 되고 점점 더 vim에 빠져들게 된 나…
vimium 과 homerow을 쓰다보니 vscode에서도 normal 모드인 것 처럼 나의 행동 양식/사고 방식이 바뀌어버림을 느꼈다.
이후에는 astronvim으로 광명찾아 재미있게 살고 있다.
lazyvim도 인기있는 것 같던데, 너무 opinionated 느낌이라 적당히 커뮤니티 드리븐 astronvim 맘에 들었다.
특히, 맘에 드는 vim 플러그인을 찾았을 때, astronvim community repo를 찾아보면 다른 유저들이 적당히 미리 세팅 해놓은 값들을 손쉽게 설치할 수 있는 부분이 가장 좋은데, 설치하고 나서 기존 keymap과 겹치지 않게 잘 조율하는 것이 시간이 가장 오래 걸리기 때문.
그래서 최종적으로 vim을 왜 쓰게 됐냐는 질문을 물어보면 나는 이렇게 답하고 싶다.
vscode는 너무 느리다.
내 생각의 속도를 따라오지 못할 정도로 느리다. 메모리도 많이 먹는다.
개인적으로 electron으로만 실행되는 앱이라면 설치하기 보다 arc/zen browser에 돌려버리는 것을 선호하기 때문에 electron 기반의 앱이라는 것이 확실한 감점 요소였다.
- 키보드로 설정 가능한 부분들이 많긴 하지만, (1)의 이유 때문인지 단축키를 써도 코딩에 몰입되기보다 오히려 깨지는 느낌이다.
vim extension에 훅을 건다거나, 단축키를 변경한다거나, customization이 훨씬 자유롭다.
근데 이거는 vscode를 쓰면서 해봐야겠다는 생각조차 안해본거긴한데, vim에서는 당연히 되니까 찾아보고 설정을 했던 것이고, 이와 반대로 vscode에서는 주는 대로 받아 먹고 수동적으로(?) 살았다.
vscode는 어떤 설정은 checkbox 등으로 gui스럽게 제공하다가, 갑자기 어떤 설정들은 또 settings.json에서 직접 raw json파일을 수정하라고 하는 등 뭔가 일관적이지 않은 느낌이 있었는데, neovim은 모두 공평하게 lua 파일에서 설정한다.
사소한게 마음에 안들어서 찾아보면, 나와 같은 고민을 하는/했던 사람이 무조건 있다. 그렇게 작업흐름을 점진적으로 개선하다보면 당연히 더 몰입할 수 있게 되고, 능률도 높아진다.
일 하는게 좀 재미없다? vim 한 번 써보세요. 은근히 재미있습니다. 저는 정말 재미있습니다.




