[VIM] 유용한 기능들 - 1탄
unix 계열을 활용한 직업군들에게는 필수적인 툴인 VI (라지만 사실 요즘은 다 VIM이다, 혹은 GVIM). 이게 익숙해지면 새로운 기능이나, 기존과 다르게는 잘 안 쓰게 돼서 모르면 끝까지 모르는 경우가 많다. 기본적인 치환 기능 및 검색 기능들을 제외하고는 모르는 사람도 있는데, 필요할 때만 주변 팀원들에게 물어보거나 찾아봐서 사용하고 또 까먹는다. 나도 팀원들이 물어봐서 알려주는데, 그때만 쓰고 안 쓰다가 나중되면 또 물어보기 일수.
"본인도 VIM 사용자라면 이것 저것 찾아보고 익숙해질 때까지 활용할 수 있도록 하자"
라는 취지에서 몇 가지 찾아적어봤다. 1탄이지만, 몇 탄까지 쓸지는 모르겠다. 생각날 때마다 추가해 봐야겠다. 물론 복잡한 기능, 자주 쓰는 기능을 perl script로 작성하는 것도 좋고, 개인적으론 그렇게 하고 있다.
위 VI 단축키 정리해 놓은 이미지는 구글검색으로 퍼왔는데 Site도 적혀있고 크게 문제없을 것으로 생각한다. 혹시 문제가 있다면 알려주면 삭제하겠다. 몸으로 기억하는 VIM 단축키들 이기 때문에 위 이미지를 눈으로만 보기보다 필요할 때 써보고, 또 익숙해지도록 자주쓰는게 가장 중요하다.
1. % (Shift + 5) 키
--> 코딩할 때, "(" ")" 를 빠뜨리거나, 너무 많아 잘못 실행되는 경우가 많은데, 그 짝을 찾아준다. 가독성을 위해서 함수 Hierarchy 마다 들여 쓰기를 하더라도, 수십~수백 Line의 코딩을 진행할 때는 고마운 기능. 물론 Plugin 까지 만지작만지작하는 VIM 유저라면 더 Powerful 한 Addon들이 있긴 하다. % (Shift + 5) 키를 두 번 타닥 하면 원 위치로 오게 되니 확인 및 원 위치에 쓴다.
2. :sp (split window) , :vs (vertical split)
--> 위 이미지 우측 하단의 Windows 쪽에 :sp 가 설명되어 있는데, :vs 도 있다. sp는 화면을 상하 둘로 쪼개고, 파일명을 넣거나 ':n 파일명' 등으로 열어서 두 파일을 동시에 띄울 수 있다. 위 이미지에는 없는데 :vs 도 유용하다. 좌우로 나누기 때문에 Line 별로 비교 등도 유용하다. 위 이미지에서 V 키쪽에 설명된 Selection 기능과 함께 다른 파일에서 복사, 붙여 넣기 등을 진행할 수 있다. 마우스 없이 키보드로도 빠르게 작업 가능. Window 간의 이동은 Ctrl+w 두 번을 애용하긴 하는데 여러 방법이 있다.
3. :%s/Foo/Bar
하나의 파일에서 특정 단어를 다른 단어로 치환은 자주하게 되는데, 복수 파일에서 치환 명령을 수행할 수 있는 방법이다. 블로그 상의 다른 글에 Find 명령어를 이용하기도 하는데, 이 방법도 간단하다. vi로 복수 파일을 한 번에 열고 :n :N을 통해 이동할 수 있는데, 많이들 사용해 봤을 것이다. 이렇게 연 복수의 파일에 치환 명령을 실행할 수 있다. 수정해야 할 파일이 수십~ 수백 개가 되면 어떻게라도 머리를 굴려야 한다.
일단 세 가지 적어봤는데, 뭐 또 생각나겠지.. 나중에는 Plug-in 까지 쓰지 않을까 싶다. 재밌는 기능, 알고 계신 분은 알려주시면 저도 감사히 배우겠습니다.
p.s) 2020.12.14 맞춤법검사 및 일부 문장 수정