Vim 제대로 가르쳐 줌 🤓 (개발자라면 한번쯤 꼭 쓴다는 Vim)
Vim에는 기본적으로 두 가지 사용법이 있다.
esc
키를 누르면 명령모드로 전환i
로 입력모드 전환:q
: 종료:q!
: 강제 종료:w
: 저장:w!
: 강제 저장:wq
: 저장하고 종료:wq!
: 강제 저장하고 종료esc
: 명령모드로i
: insert (커서 앞)a
: append (커서 뒤)I
: 문장 시작A
: 문장 끝h
: 좌측j
: 아래로k
: 위로l
: 우측0
: 문장 앞으로 이동$
: 문장 뒤로 이동w
: word 단어 단위로 이동b
: backward 단어 단위로 전으로 이동3w
: 3단어씩 이동 (원하는 숫자 + w
), 3b
처럼 전으로도 가능h
: 화면 위m
: 화면 중간l
: 화면 끝gg
: 파일 시작G
: 파일 끝20G
: 20번째 줄로 이동 (원하는 숫자 + G
)ctrl u
: 위로 스크롤링crtl d
: 아래로 스크롤링{
: 문단 시작}
: 문단 끝x
: 커서 아래 글자 삭제dd
: 문장 삭제yy
: 문장 복사p
: 붙여넣기*p
: 클립보드 붙여넣기vscode 에서 클립보드 붙여 넣기를 사용하려면 setting의 json파일에 다음을 추가 해야한다.
"vim.useSystemClipboard": true
명령(Command)을 누구에게(Object)할 것인지 지정할 수 있다.
example
명령(Command)
d
: delete(cut)y
: yank(copy)c
: change무엇에게(Object)
안에 있는 것들만 삭제하고 싶으면 (
i
) 포함해서 전체를 삭제하고 싶으면 (a
)
3w
: 3단어3b
: 3개의 이전 단어aw
: a word, 단어 한 개를 삭제at
: a tag, 태그 전체를 삭제ap
: a paragraph, 문단 전체를 삭제as
: a sentence, 한 줄을 삭제it
: inner tag, tag 안을 삭제i"
: 쌍따옴표 안을 삭제ip
: 문단 안을 삭제
.
: 이전 명령 반복u
: 되감기ctrl R
: 앞감기
f
,t
,/
와 조합해서 더 강력하게 명령할 수 있다.
df(
:d
(delete) +f
(find) +(
(소괄호), 소괄호까지 찾아서 삭제dt(
:t
는 찾은 것의 이전까지 삭제/
:/
는 어디까지 삭제할지 visual 적으로 볼 수 있다.
d/(sh
:(sh
까지 삭제한다는 명령어
검색은 명령 모드에서도 수행할 수 있다.
/
를 이용해서 검색한다.n
: 검색한 단어에 일치하는 다음 단어를 찾는다.?
: 검색한 단어에 일치하는 이전 단어를 찾는다.
v
: select모드로 들어간다.vaw
: 단어 하나를 select 한다.ctrl v
: block 적으로 select할 수 있다.