Vim을 설정하고, 사용하다보면, 여러 사용법을 익히게 됩니다. 그 중에서 잘 사용하지만, 자주 잊어버리는 사용법에 대해 일종의 팁이라는 제목으로 관리하고 공유하고자 합니다.
1. 레지스터에 등록, 복사하고 붙여넣기
일반모드에서 특정 라인에서 " (레지스터리명: 1,2,3,.. a, b...) yy 라고 차례대로 누르면, 해당 라인이 레지스터리에 복사되어 등록됩니다. 예를 들어, "ayy 를 누르면, a라는 공간에 해당 라인이 복사됩니다.
붙여넣기는 " (레지스터리명: 1,2,3,.. a, b...) p 를 차례대로 누르면 됩니다.
레지스터리 확인은 :reg 로 가능합니다.
2. 창 나누기 (Multi window)
VIM에서 창을 나누는 명령어는 :sp (split, 수평분할), :vs (vertical split, 수직 분할) 가 있어요.
물론 위 명령어들은 Multi window의 기본명령어인 Ctrl + w 조합으로도 가능해요. 각 조합은 다음과 같습니다.
Ctrl + w n : 수평 분할 (= Ctrl + w s) Ctrl + w v : 수직 분할 Ctrl + w w : 창 이동 (Ctrl + w (h, j ,k ,l ) 사용 가능) Ctrl + w q : 현재 창 닫기 Ctrl + w = : 창 균등분할 Ctrl + w _ : 수평분할에서 현재 창 최대 Ctrl + w | : 수직분할에서 현재 창 최대 Ctrl + w [num] + : 창 크기를 num 만큼 세로로 확장 (num 미지정 시, 1) Ctrl + w [num] - : 창 크기를 num 만큼 세로로 축소 (num 미지정 시, 1) Ctrl + w [num] > : 창 크기를 num 만큼 가로로 확장 (num 미지정 시, 1) Ctrl + w [num] < : 창 크기를 num 만큼 가로로 축소 (num 미지정 시, 1)
3. 기록 (Recoding)
간혹, VIM을 사용하다보면, 좌측 하단에 'Recoding..' 또는 '기록 중..' 이라는 메시지가 보입니다. 동작을 기록하고, 매크로처럼 사용하는 기능으로 추정됩니다. 중요한 것은 저는 Recoding 기능을 사용하지 않는데, 무언가를 잘못 누르면 Recording이 시작된다는 점입니다. 그래서 원인과 해결책을 정리하고자 합니다.
기록 시작 : q + '임의의 letter'
기록 종료 : q
따라서, vim을 사용하다가 '기록 중'이 보인다면 걱정말고, 'q'를 누르면 기록이 해제됩니다.
4. 파일 확장자에 따른 vim 세팅 변경
vim 설정을 함에 있어, 파일 확장자에 따라 vim 설정을 다르게할 필요가 생깁니다. 이 때, autocmd를 사용하면 이를 해결할 수 있습니다. 제 경우에는 sql에 대해서는 tab 간격을 2로 하는 것이 편하여 다음과 같이 분기하여 활용하고 있습니다.
이 때, 유의해야할 사항은 vimrc에서 함수는 대문자로 시작하여야 한다는 것입니다 그래서 함수명은 Camel표기법을 따라 명명하게 됩니다.
함수를 사용하지 않고, 다음과 같이 \과 | 를 이용해서 Multiple line으로 적을 수도 있습니다.
5. 마지막 수행 명령 반복
마지막으로 수행했던 명령을 반복해서 실행하고 싶다면, . 를 누르면 됩니다.
6. Tab를 공백문자(space)로 변경
tab를 공백문자로 변경하는 것에 대해 구글링을 하다보면, :set expandtab를 하면 되는 것으로 설명이 되어 있습니다. 이 명령어는 Vim에서 tab문자를 입력 시, 이를 공백으로 인식하게 할 것인지 여부에 대한 boolean 값의 형태로 환경을 설정하는 명령어입니다.
그렇기 때문에, :set expandtab를 하였다고 하여, Tab문자로 저장된 파일에서 tab 문자가 공백으로 변경되지는 않습니다.
다른 개발자들이 개발한 코드에서 Tab문자를 공백으로 변경해주기 위해서는 :retab를 하여야 합니다.
'Let's Programming > Editor - Vim' 카테고리의 다른 글
Vim 활용 - 키보드 맵핑 (1) | 2017.10.02 |
---|---|
gVim 설치기 - (3) Plugin 연동 (vundle) (0) | 2017.10.02 |
gVim 설치기 - (3) Plugin 연동 (vim-plug) (0) | 2017.10.01 |
gVim 설치기 - (2) 설정편 (0) | 2017.08.27 |
gVim 설치기 - (1) 다운로드 및 설치편 (0) | 2017.08.18 |