떠오르는 생각을 정리하는 공간

[VIM] 왜 VIM을 사용할까? 본문

유익한 자료/프로그래밍 TIP

[VIM] 왜 VIM을 사용할까?

바이너리 마중물 2017. 5. 3. 14:47

  제 코딩의 첫 시작은 비주얼 스튜디오와 함께 했습니다. 우리는 이런 것들은 IDE (Integrated Development Environment)라고 부릅니다. IDE에 예제 소스 파일을 입력하고 Ctrl+F5를 누르면 검은색 창에 결과가 나오는 것을 볼 수 있습니다. 너무 간단한 방식으로 저는 프로그래밍 세계에 입문했습니다.

  비주얼 스튜디오를 이용해 열심히 코딩했습니다. 시간이 흐르면서 많은 사람들이 저에게 비슷한 얘기를 했습니다. "비주얼 스튜디오는 무거우니깐 가벼운 VIM을 사용해라."  사실 비주얼 스튜디오와 VIM을 단순 비교하는 것은 무리가 있습니다. 왜냐하면 비주얼 스튜디오는 텍스트 편집기, 컴파일러, 디버거와 같이 프로그래밍하는데 필요한 다양한 기능을 제공하는 IDE를 의미하고 VIM은 단순히 텍스트 편집기 기능만을 제공하기 때문입니다.

  VIM을 켰습니다. 그냥 메모장 같은 프로그램이 켜지고 어떠한 글자도 입력할 수 없었습니다. 인터넷을 검색했더니 모르는 단어 투성이었습니다. 방향키는 h, j, k, l이다. 모드는 입력, 명령, 일반, 비주얼로 구분 된다. 단축키를 정리한 것을 보면 양이 너무 많았습니다. VIM을 조용히 종료하고 다시 편리한 비주얼 스튜디오를 사용했습니다.

  하지만 주위에서는 끊임없이 리눅스에서 VIM을 이용해 코딩하라는 말이 들려왔습니다. 다시 한 번 VIM을 실행하고, 간단한 단축키 등을 외웠습니다. 무언가 새로운 것을 배우는 것은 어려웠습니다. 단순한 복사 붙여넣기도 어려웠고, 마우스의 소중함을 계속 느꼈습니다. 그래도 참고 사용하다 보니 요새는 많이 익숙해졌고, 많은 사람들이 VIM을 사용하면 좋겠다는 심정으로 글을 작성하게 되었습니다.



  앞에서 언급한 것처럼 VIM은 진입장벽이 꽤 높습니다. 다시 말하면 진입장벽만 넘어서면 남들이 갖지 못하는 힘을 가질 수 있다는 것을 의미하기도 합니다. 제가 생각하는 VIM의 장점은 다음과 같습니다.

1. 불법 프로그램과 이별

일반적으로 우리는 윈도우와 비주얼 스튜디오를 무료로 사용할 수 있는 것이라고 생각합니다. 이렇게 편리한 툴을 무료로 사용할 수 있으면 좋겠지만 실제로는 돈을 지불하고 사용해야 합니다. 하지만 리눅스와 VIM은 무료로 사용할 수 있습니다.

2. 비싼 컴퓨터가 필요 없는 세상

최근에 나오는 비주얼 스튜디오를 설치하면 용량도 크고, 컴퓨터 사양이 낮으면 렉도 심합니다. 간단한 프로그램을 돌려도 시간이 꽤 오래 걸립니다. 하지만 VIM을 사용하면 컴퓨터 사양이 낮더라도 렉 없이 빠른 속도로 원하는 결과를 얻을 수 있습니다.

3. 마우스 없는 삶의 편안함

작업하는 과정에서 마우스를 사용하는 것이 반드시 좋은 것은 아닙니다. 적응하기 전에는 마우스로 하나하나 누르면서 작업하면 편하지만 시간이 흐를수록 키보드와 마우스를 왔다갔다하는 것이 매우 불편하게 느껴지는 경우가 있습니다. 우리의 VIM은 마우스를 하나도 사용하지 않고도 단축키만을 이용해 모든 작업을 끝낼 수 있습니다. 많은 단축키에 두려워할 필요가 없습니다. 우리에게 필요한 것은 모든 단축키가 아닙니다. 자신에게 필요한 단축키 몇 개만 외우면 됩니다.

4. 컴퓨터 세계에 한 걸음 더

몸이 편해지면 생각하지 않게 됩니다. 프로그래밍 관련 서적을 읽다보면 컴파일러, 링커, 기계어와 같은 단어를 접합니다. 하지만 비주얼 스튜디오에서는 Ctrl+F5만 누르면 모든 작업이 진행되니, 우리는 그 중간 과정을 알 수 없습니다. 앞에서 언급한 것처럼 VIM은 단순히 텍스트 편집기 입니다. 그러므로 VIM을 이용해 소스코드를 작성하고, gcc와 같은 컴파일러를 이용해 목적파일을 만들고, gdb를 이용해 디버깅 하는 과정이 필요합니다. 이러한 과정을 거치다보면 자연스럽게 자신이 만든 소스파일이 어떻게 컴퓨터가 이해할 수 있는 프로그램이 되는지 배울 수 있습니다. 그래서 예전부터 주위에서 리눅스와 VIM을 이용해 프로그래밍을 연습하라고 했던 것 같습니다.

Comments