728x90
반응형

※ Vim은 명령어가 워낙 많아서 같은 기능을 하는 명령어도 많기에 제가 자주 쓰는 걸로 정리했습니다.

※ Visual Studio의 Vim 확장 기능을 사용한 VSVim 명령어이니 원래 Vim과는 다를 수 있습니다.

※ [ ]는 실제 명령어 입력할때 쓰지 않습니다

 

 

Vim를 Visual Studio에서 쓸 수 있다?! 삐슝빠슝뿌슝

(설치는 extension으로 하면 되기에 생략)

모드

esc - 기본모드로 돌아가기, 커서이동은 거의 여기서만 작동한다.

a,i 등 - 입력모드로 전환, 코드를 수정할 수 있지만 여러 커서이동이 불가능하다.

v,V 등 - 선택모드로 전환, 보통 마우스로 드래그하는 걸 키보드로 한다고 생각하면 된다.

전역 명령어

진짜 필요한 명령어만 정리했으니 더 많은 명령어는 구글에...

:w - 저장(write)

:q - 나가기(quit)

:q! - 저장하지 않고 나가기

:e file.txt - file.txt 열기 VSVim에서는 안되는 것 같다

- 원래 vim에서는 이거 모르면 저장도 못하고 갇혀버리는 사태가...

커서 이동

상하좌우

h - ←

j-

k- ↑

l- →

- 각각 방향키에 대응한다.

- 선택모드에서 중요하게 쓰인다.

//gif

 

행 이동

H - 화면 기준 맨 윗줄로 이동

L- 화면 기준 맨 아랫줄로 이동

- 화면에 표시 되는 코드 기준 위아래로 이동한다.

- 그렇게 많이 쓰진 않음

//gif

 

gg- 맨 첫줄로 이동

G- 맨 마지막 줄로 이동

- 전체 코드의 맨 첫줄, 마지막줄로 이동한다

- 변수를 맨 위에 선언해서 확인할 때 빼고는 잘 안쓴다.

//gif

 

[n]gg- n번째 줄로 이동한다

- 화면에 표시된 줄로 이동할때 편하다

//gif

 

0- 줄의 처음으로 이동

$- 줄의 마지막으로 이동

- 글자에 상관없이 무조건 처음과 마지막으로 이동한다.

//gif

 

^- 줄의 처음 글자로 이동

g_- 줄의 마지막 글자로 이동

- 아래 코드에서 각각 1,2로 이동한다.

[1]System.Windows.Forms.MenuItem[2]

//gif

 

+ - 다음 줄의 첫 글자로 이동

- - 이전 줄의 첫 글자로 이동

- 꽤나 자주 쓰고 있다

//gif

 

}, {- 공백칸을 기준으로 다음, 이전 문단으로 이동

- 코드를 공백줄로 구분했다면 이동할때 매우 유용하다.

//gif

 

% - 대응되는 괄호로 이동

- 뭔가 엄청나지만 그리 많이 쓰이지 않는다

//gif

페이지 이동

커서로 이동하는게 불편할 때 사용, 마우스 휠과 비슷한 역할

Ctrl + b - 한 페이지만큼 위로 이동

Ctrl + f - 한 페이지만큼 아래로 이동

- 화면의 표시되는 코드만큼 이동

//gif

 

Ctrl + u- 반 페이지만큼 위로 이동

Ctrl + d - 반 페이지만큼 아래로 이동

- Ctrl +b,f의 반정도 이동

//gif

 

편집

입력모드가 아닌 선택모드나 기본모드에서 편집하는 명령어들, 많은 조합들 중 자주 쓰는 것만 정리

더 다양한 명령어는 아래 문법글 참고

복사, 붙여넣기, 잘라내기, 실행취소

dd - 현재 줄 삭제(잘라내기)

dw - 현재 단어 삭제(잘라내기)

- 커서가 있는 줄을 삭제하는 것 같지만 붙여넣기 하면 된다.

//gif

 

yy - 현재 줄 복사

p - 붙여넣기

- 흔히 쓰는 Ctrl + C, Ctrl + V와 기능이 거의 같다.

//gif

 

u - 실행취소

Ctrl + r - 다시 실행

- Ctrl + z와 Ctrl + Shift + z와 같은 기능이다. 

입력모드

이동명령어가 많아서 정작 코드수정에 필요한 입력모드가 뒤로 많이 밀렸다...

i - 현재 커서 위치에서 시작

a - 커서 위치의 한칸 앞에서 시작

- i가 가장 기본적인 입력모드로 들어가는 명령어다.

//gif

 

I - 줄의 첫 글자 앞에서 시작

A - 줄의 마지막 글자 뒤에서 시작

- 주석을 달거나 맨 앞에서 시작할 때 유용하다.

//gif

 

o - 아래에 새로운 줄을 만들고 시작

O - 위에 새로운 줄을 만들고 시작

- 위에 새로운 줄을 만들고 시작하는건 꽤 쓸만하다.

//gif

 

cw - 현재 단어를 지우고 시작

S - 현재 줄을 지우고 시작

- 잘못된 단어나 줄만 변경할때 유용하다.

//gif

선택모드

마우스 드래그와 같은 기능이다. 많은 줄을 복사하거나 삭제할 때 사용

v - 글자단위 선택모드

Shift+ v - 줄단위 선택모드

Ctrl + v - 블럭단위 선택모드

- h,j,k,l로 범위 선택

//gif

 

기타 명령어

/[찾을문자] - 문자열 검색(Ctrl + F)

n - 다음 단어로 이동

N - 이전 단어로 이동

//gif

 

:%s/[찾을문자]/[바꿀문자]/g - 문자열을 검색한 후 수정

+범위인수

%- 코드전체

. - 현재 줄

[n],[m]- n행부터 m행까지

+변경방법

g - 물어보지 않고 변경

i- 대소문자 구분 없지 검색 후 변경

c - 찾을 때마다 물어보고 변경

//gif

 

문법

위 명령어의 대부분은 조합이 가능하며 조합법(문법)도 있다.

근데 딱히 외울필요는 없고 자주 쓰는 것만 기억하면 된다.

동사 : v(visual), c(change), d(delete), y(yank,/cop)등

범위 선택 : i(inner)

텍스트 선택 : w(word), s(sentence), p(paragragh), b(block)

 

ex) di" - ""안 글자 삭제

     vap - 이 문단(공백줄 기준) 선택

 

매크로나 표시는 나중에 많이 쓰게 되면 추가 예정

 

 

여담

솔직히 마우스 쓰는게 복붙이나 스크롤하기 편하다.

'작업일지 > Vim' 카테고리의 다른 글

Neovide 설치하기  (0) 2023.07.23
Neovim on Windows  (0) 2023.07.23
VSvim에서 vimrc 파일 설정하기  (0) 2022.01.30
SpaceVim on Windows  (0) 2022.01.19
SpaceVim 설치하기  (0) 2021.03.28