-
Notifications
You must be signed in to change notification settings - Fork 2
2015 03 19 vim 개발 환경
리눅스 환경에서 C/C++ 개발을 한다면 Makefile 파일과 make 명령을 통해 빌드를 수행할 것입니다. vim에서 파일 편집 중에 :make
명령을 내리면 화면이 잠시 쉘 화면으로 들어가서 make 명령을 실행하여 출력을 보여주고 엔터를 누르라는 메시지가 나옵니다. 엔터를 누르고 다시 편집 화면으로 돌아온 다음 :cw
명령을 내리면 아래쪽에 화면이 분할되면서 좀전에 본 make 명령의 출력이 새로 분할된 화면에 나타납니다. :sp
명령으로 화면을 분할한 것과 같은데, 이때 ^ww 키로 make의 출력 화면으로 이동한 다음 에러가 난 줄에서 엔터를 누르면 해당 파일의 해당 라인을 바로 열어줍니다. 여타의 IDE에서 빌드 출력창에서 에러가 난 줄을 마우스로 더블클릭한 효과와 같습니다.
:make
명령과 마찬가지로 :grep
명령을 실행한 다음 편집 화면으로 돌아와서 :cw
명령을 진행하는 식으로 응용도 가능합니다.
vim은 플러그인을 설치하여 보다 높은 생산성을 도모할 수 있습니다. 최근 들어 이 플러그인의 설치를 간편하게 할 수 있게 되었다고 합니다. 바로 pathogen.vim이라는 플러그인 때문입니다. 이에 더 나아가 vundle의 경우 플러그인 설치 및 관리를 보다 쉽게 할 수 있도록 해줍니다. python에서 setuptools-pip-pypi의 관계가 vim 플러그인에서 pathogen-vundle-github의 관계로 매핑된다고 이해하시면 됩니다. ^^;
vim 플러그인 중 유용한 것이 있는데 바로 NERDTree입니다. :NERDTree
명령을 내리면 편집창 왼쪽에 파일 브라우저 트리 창이 나타납니다. 역시 ^ww 키로 이동하여 원하는 파일로 이동하여 엔터를 누르면 해당 파일을 편집할 수 있습니다.
이와 비슷한 것으로 클래스나 함수의 목록을 보여주는 taglist라는 플러그인도 있습니다. NERDTree와 기본적으로 비슷하고요, 명령은 :Tlist
입니다. 단, 이 플러그인은 ctags라는 외부 명령을 사용하므로 맥 요세미티에서는 homebrew를 이용해서 별도로 설치해 줘야 동작할 겁니다.
vim 플러그인에 관한 유용한 정보는 Use Vim like an IDE나 Vim Awesome을 보시면 도움이 좀 되실 겁니다.
mkdir -p ~/.vim/{ftdetect,indent,syntax} && for d in ftdetect indent syntax; do wget --no-check-certificate -O ~/.vim/$d/scala.vim https://raw.githubusercontent.com/derekwyatt/vim-scala/master/syntax/scala.vim; done
위에서 말씀드린 :cw
명령과 NERDTree, taglist 플러그인이면 왠만한 IDE 부럽지 않게 개발이 가능합니다. 그럼에도 저는 CLion, PyCharm과 같은 IDE를 더 선호하는 편입니다. 바로 코드 라인 trace 기능이 편리하기 때문입니다. 또하나 IDE의 중요한 기능 중 하나가 바로 refactoring 기능입니다. 멤버 변수의 이름 하나 바꾸기 위해 모든 파일을 뒤지지 않아도 되기 때문이죠.