본문 바로가기

프로그래밍

자주 쓰게되는 vim 명령어

42서울 라피신 과제로 바쁜 하루지만 지금 상태로는 너무 갑갑해서 vi 명령어를 정리하는 시간을 가졌다.

 

예전에 리눅스를 다룰땐 잘은 아니어도 그럭저럭 썻던것 같은데 지금은 jk 방향을 헷갈릴만큼 기억나는게 별로 없다.

 

그래서 며칠동안 자주 필요하다고 느낀 or 명령어를 보고 자주 쓰겠다고 느낀 명령어를 정리하기로 했다.

 

 

콜론(:) 사용 등

:wq 저장 후 종료

:q! 저장하지않고 강제로 종료

:set number 라인 숫자 표시

(늘 쓰고싶은 기능이지만 42서울 맥에서는 vimrc를 설정하기 까다롭다. 정확한 방법은 문의해야할듯)

:set nonumber 라인 숫자 표시 삭제

:[n] n행으로 이동

 

이동

h 왼쪽으로 이동

j 아래행으로 이동

k 위행으로 이동

l 오른쪽으로 이동

w 다음 단어 첫글자로 이동

b 이전 단어 첫글자로 이동

^ 행의 첫글자로 이동

$ 행의 마지막 글자로 이동

ctrl+b 한화면 위로 스크롤

ctrl+f 한화면 아래로 스크롤

gg 문서의 처음으로 이동

G 문서의 마지막행으로 이동

 

 

입력모드 전환

a 커서 다음칸부터 입력

A 커서행의 마지막부터 입력

i 커서 위치부터 입력

I(대문자 i) 커서행의 처음부터 입력

o 커서의 다음행에 입력

O 커서의 이전행에 입력

s 한글자 삭제후 입력

r 한글자 수정

R 수정모드

 

삭제

x 한글자 오려두기

[n]x 글자수 지정 오려두기

dw 현재위치부터 공백까지 삭제(괄호가 걸리면 그전까지)

dd 커서가 있는 행을 삭제

D 현재 커서 위치부터 행 끝까지 삭제

 

복사 붙여넣기

v 블록지정

y 블록지정 후 복사

yy 한 행 복사(Y도 가능)

[n]yy n행 복사(Y도 가능)

p 붙여넣기

[n]p n번 붙여넣기

 

그외 필수기능

/ 검색

* 해당 단어 강조(n 밑으로 N 위로)

v = 블록지정 후 정렬

=% 해당 중괄호 정렬

u undo

ctrl r redo

:%s/old/new/g 문서 전체에서 old 를 new로 교체

:%s/old/new/gc 문서 전체에서 old 를 new로 확인후 교체