Develop/Server

vim 명령어

lover_duck 2025. 3. 1. 09:13

먼저 vim이란 텍스트 편집기이며 파일을 편집할 때 사용하는 만큼 다양한 명령어들에 대해서 알고 있어야 유의미한 활용이 가능하다.

 

vim은 모드마다 수행할 수 있는 동작들이 구분되며 vim을 사용해서 파일을 열게 되면 일반 모드로 시작하게 된다.

 

일반 모드

텍스트를 수정할 수 없으며 커서 이동, 삭제, 복사, 붙여 넣기 등의 명령을 실행할 수 있다.

커서 위치를 기준으로 동작하는 명령어들이 있는데 커서 위치는 방향키로 이동할 수 있다.

 

x : 커서 위치의 문자 하나 삭제

dd : 현재 줄 삭제

d$ : 커서부터 현재 행의 끝까지 삭제

d0 : 커서부터 현재 행의 시작까지 삭제

d{motion} : {motion}이 가리키는 텍스트를 삭제 ({motion}은 이동 명령어)

ex) dw는 단어 삭제

 

yy : 현재 줄 복사

y {motion} : {motion}이 가리키는 텍스트 복사

ex) yw는 한 단어 복사

 

p : 복사한 텍스트를 커서 뒤에 붙여 넣기

P : 복사한 텍스트를 커서 앞에 붙여 넣기

u : 마지막 변경 취소 (undo)

Ctrl + r : 마지막 취소 작업 복구 (redo)

입력 모드

텍스트를 수정할 수 있는 상태로 진입한다. esc로 일반모드 전환할 수 있다.

 

i : 커서 앞에 텍스트 입력 시작

I : 현재 행의 맨 앞에서 입력 시작

a : 커서 뒤에서 텍스트 입력 시작

A : 현재 행의 맨 끝에서 입력 시작

o : 다음 줄에 새 행을 추가하고 입력 모드로 전환

O : 현재 줄 위에 새 행을 추가하고 입력 모드로 전환

 

h : 왼쪽으로 한 칸 이동

j : 아래로 한 줄 이동

k : 위로한 줄 이동

l : 오른쪽으로 한 칸 이동

w : 단어 단위로 앞으로 한 칸 이동

b : 단어 단위로 뒤로 한 칸 이동

0 : 현재 행의 시작으로 이동

$ : 현재 행의 끝으로 이동

gg : 파일의 첫 번째 줄로 이동

G : 파일의 마지막 줄로 이동

 

/검색어 : 파일 내에서 '검색어'를 검색, 다음 단어로 이동은 n

? 검색어 : 파일 내에서 '검색어'를 역방향으로 검색, 이전으로 이동은 N

 

ZZ : 저장하고 종료

 

명령모드

vim의 명령어를 입력할 수 있는 모드로 : 를 입력해 진입할 수 있다.

 

:{숫자} : 지정한 줄로 이동 (:10은 10번 줄로 이동)

:w :현재 파일 저장

:w filename : 다른 이름으로 파일 저장

:q : vim 종료, 저장되지 않은 변경 사항이 있으면 경고가 뜬다.

:q! : 저장하지 않고 종료

:wq : 저장하고 종료

 

:set number : 줄 번호 표시

:set nonumber : 줄 번호 숨기기

:set ignorecase : 대소문자 구분 없이 검색

:set noignorecase : 대소문자 구분하여 검색

 

:set autoindent : 자동 들여 쓰기 활성화 (현재 줄의 들여 쓰기를 자동으로 이전 줄의 들여쓰기와 맞춰주는 기능)

:set smartindent : 스마트 들여쓰기 활성화 (코드 구조에 따라 들여쓰기를 조정하는 기능)

 

:set paste : 붙여 넣기 모드 활성화 (들여쓰기가 깨지지 않도록)

:set nopaste : 붙여넣기 모드 비활성화

:help : vim 도움말 열기

 

:split or :sp : 수평 분할

:vsplit or :vsp : 수직 분할

 

이 외 이동명령

Ctrl + f : 한 페이지 아래로 이동

Ctrl + b : 한 페이지 위로 이동

Ctrl + d : 파일에서 절반 정도 아래로 이동

Ctrl + u : 파일에서 절반 정도 위로 이동

 

Ctrl + w, s : 창을 수평으로 나누고 커서 이동

Ctrl + w, v : 창을 수직으로 나누고 커서 이동

Ctrl + w, q : 분할된 창 닫기

728x90
반응형