Vim 으로 개발한다는 것

Vim 으로 개발한다는 것

회사에서 Vim을 일하면서 사용한지 2달 쯤 되가는 것 같다.

아직도 기존에 쓰던 에디터인 Atom을 왔다갔다 하지만 점점 Vim을 사용하는 시간이 더 늘어나 것 같다.

이제는 거의 Vim : Atom = 8 : 2 정도?

아직 허접이지만 그동안 Vim을 사용한 후기 정도를 적어보려한다.

Tmux & Vim 의 조합이란!

Tmuxterminal multiplexer 이다.

터미널에서 session 별로 window를 만들게 해주고 터미널을 종료해도 session 이 유지되기 때문에 작업하기에 많은 도움을 준다.

또한 터미널을 pane으로 분할하여 여러 화면을 쓰게 해주는데 Vim과 서버를 띄워둔 터미널을 같은 화면에 띄워 놓고 작업한다면 생산성이 좋아진다.

테스트 코드를 작성하고 그 자리에서 테스트 코드를 실행할 수 있는 플러그인을 사용해서 쓰는데 정말 좋다.(vimux-nose-test 짱!)

Vim 으로 어디까지 될까...

사실 Vim을 이렇게 까지 써보기 전까지는 .vimrcset=number라던가 syntax=on 정도만 사용해서 Vim은 내게 매우 불편한 에디터 였다.(사실 에디터라고 생각하지도 않았다. 그냥 매우 엄청 되게 많이 불편한 무언가라고만 생각했었다.)

하지만 여러가지 플러그인들을 설치하고 Vim의 단축키들을 손에 익히니 정말 어디까지 되는 것인가 궁금할 정도였다.

지금은 거의 10개 정도의 플러그인을 설치해서 Auto Complete나 snippets 등 여러가지 기능들을 사용하고 있어서 여타 에디터 부럽지 않다.

내 vim이 이렇게 변하다니...

아직 셋팅하고 싶은 것들이 많기도 하고 과연 어떤 기능까지 될까 궁금해서 한때는 vim 플러그인들을 모아둔 사이트인 Vim Awesome을 틈만나면 들어가곤 했다.

얼마전에는 우아한형제들 기술 블로그에서 Vim 플러그인으로 벽돌깨기 게임을 만드신 분을 봤는데 정말 충격적이었다.

속으로 아마 저분은 Vim으로 우주도 창조할 수 있을 것 같다고 생각했다.

작업 환경을 통일하는 매직!

이렇게 터미널 기반으로 작업하다보니 여러가지 설정들만 가져가면 같은 환경에서 작업할 수 있는 이점이 생겼다.

.vimrc.tmux.conf를 관리하는 dotfiles라는 Repo를 만들어서 관리하고 있다.

이렇게 관리하니 다른 PC에서 이 저장소만 불러와서 적용하면 어디서든 내가 사용하던 환경으로 작업할 수 있다.

새로운 PC로 이동한다거나, AWS, Azure 서버에서 단 2 줄 이면 끝!

$ git clone https://github.com/songyunseop/dotfiles.git .dotfiles
$ cd .dotfiles && ./setting.sh

아직 멀었다.

뭐 이렇게 Vim을 사용하고 있지만 아직까지도 단축키가 궁금해서 구글링을 하고 급하게 작업해야하는 일이라면 Atom을 쓰곤한다.

아직 Vim의 숨겨진(사실 숨겨져 있진 않지만) 기능들을 전부 사용해보려면 멀었고, 그 기능들을 숙련되게 사용할 수 있을 때 생산성에 얼마나 영향을 줄지 상상도 되지 않는다.

하지만 지금 사용하는 만큼만 vim을 사용해도 손이 키보드에만 머무를 수 있게 되고 터미널 밖으로 나가지 않아도 되니 집중이 더 잘 되는 느낌이다.

언젠가는 Vim 없이 개발을 하지 못하는 날이 올지도...(아닐거다)

여담이지만...

내가 사용하고 있는 무선 마우스는 얼마동안 사용하지 않으면 절전모드로 돌아가는데 터미널에서 작업을 하다가 가끔 마우스를 잡았을 때 절전모드로 되어 있을 때는 은근 기분이 좋다.