본문 바로가기
공부/Linux

[Linux] vim 사용 키 정리

by haejang 2020. 12. 14.
728x90
728x90

 

인프런의 "김왼손의 왼손코딩" 님 강의 듣고 정리한 것

www.inflearn.com/course/%EC%99%BC%EC%86%90%EC%BD%94%EB%94%A9-vim-%EC%97%90%EB%94%94%ED%84%B0/dashboard

 

[김왼손의 왼손코딩] Vim 에디터는 처음입니다만: 개발자를 위한 Vim 에디터 기초 - 인프런

김왼손이 가장 좋아하는 에디터인 Vim 에디터의 기초를 다룹니다. Vim 에디터의 가장 필수적인 기능을 쉽고 가볍게 배웁니다. 이 강의는 Vim 에디터를 알고 있는 개발자를 대상으로 합니다. 더 많

www.inflearn.com

 

[모드]

일반모드/입력모드/명령행모드

 

 

#입력모드로 전환

a : 해당 위치 다음 칸으로 커서 생기면서 입력모드 전환 (A : 해당 줄의 맨 마지막으로 이동하면서 입력모드 전환)

i : 해당 위치에서 입력모드 전환 (I : 해당 줄의 맨 처음으로 이동하면서 입력모드 전환)

o : 밑으로 한 줄이 생기면서 입력모드 전환 (O : 위로 한 줄 추가되며 입력모드 전환)

r : replace - 해당 위치의 문자를 새로 입력한 문자로 바꾼 후 바로 일반모드로 전환됨

 

[입력모드 명령어]

Ctrl + h : 윈도우의 Backspace(지우기)

esc : 일반모드 전환

 

[일반모드 명령어]

#이동

h j k l : 왼 아 위 오

숫자와 함께 쓰면 그 숫자만큼 이동됨

ex) 3h : 왼쪽으로 3칸 이동됨

 

w : 단어 단위로 이동(다음 단어의 첫번째 글자로 커서 이동)

b : w의 반대(단어 단위의 역방향 이동)

e : 단어 단위 이동 - 다음 단어의 마지막 글자로 이동(현재 단어의 마지막부터)

여기서 단어 단위는 띄어쓰기 뿐 아니라 부호들(괄호나 콜론 등등)도 하나의 단어로 침

그냥 공백 단위로만 이동하고 싶으면 대문자 사용

 

0 : 행의 맨 앞으로

$ : 행의 맨 뒤로

^ : 공백 제외한 행의 맨 앞으로

 

f + 문자 : 해당 문자로 점프(같은 행 내)

ex) fd -> 내 뒤의 가장 처음 나오는 d를 찾아서 거기로 이동

여기서 ;를 계속 누르면 같은 명령 반복( ,는 반대 방향으로 반복)

ex) fd 후 ;누르면 그 다음 d를 계속 찾고 ,누르면 역방향으로 찾아줌

 

t + 문자 : 해당 문자의 바로 앞으로 점프 (f의 한칸 앞으로 이동)

f처럼 ;로 계속 반복이고 , 누르면 역방향으로 계속 찾아줌(역방향으로 찾을 땐 해당 문자의 한칸 뒤로 점프됨)

 

gg : 문서의 맨 앞으로 이동

G : 문서의 맨 마지막 행으로 이동(맨 마지막 행의 공백 제외한 맨 앞으로 이동)

 

#검색

/ + 단어 : 단어 검색

ex) /return -> return 글자들이 전부 하이라이트 됨. 여기서 n 누르면 다음단어로 이동, N 누르면 앞 단어로 이동

또는 해당 단어 위에서 * 누르면 해당 글자들 다 하이라이트 되면서 n, N으로 이동 가능(#은 역방향)

 

#스크롤

Ctrl + e : 커서 그대로 둔 채로 화면만 스크롤(아래로 한줄씩)

Ctrl + y : 커서 그대로 둔 채로 화면만 스크롤(위로 한줄씩)

Ctrl + d : 커서 그대로 둔 채로 화면만 스크롤(아래로 반페이지씩)

Ctrl + u : 커서 그대로 둔 채로 화면만 스크롤(위로 반페이지씩)

 

#삭제/복붙

x : 글자 지우기

dd : 행 지우기

D : 현재 위치부터 행의 끝까지 지우기

 

vim에서 삭제는 무조건 잘라내기 임 -> 삭제하면 register에 저장되어있으므로 붙여넣기 바로 가능

 

p : 아랫줄에 붙여넣기

P : 윗줄에 붙여넣기

 

yy 또는 Y : 행 복사

블럭 지정되어 있을 땐 y만 눌러도 복사

yiw : 단어 단위 복사

 

J : 아랫줄을 현재 행의 뒤로 끌어오기(공백 하나 붙이고 끌어옴)

 

#되돌리기

u : 되돌리기 (작업 취소, 윈도우의 Ctrl + Z)

Ctrl + r : u로 취소한 작업 다시 실행

. : 방금 전 명령 또 실행

 

#비주얼 모드

v : 비주얼 모드(블럭 지정)(v 누른 후 커서 이동하면서 블럭 지정됨)

V : v인데 행단위로 블럭 지정

ex) gg -> V -> G 누르면 문서 전체 선택 됨

Ctrl + v : 비주얼 블럭 모드 - 네모 모양으로 블럭 선택됨(말로 설명하기 힘드니까 직접 해보자)

 

viw : 커서가 위치한 단어(공백으로 구분되는) 블럭 지정 (visual in word)

vi( : 소괄호()안의 내용 블럭 지정

vi' : 작은따옴표'' 안의 내용 블럭 지정

 

ciw : 해당 단어 삭제 후 바로 입력모드 전환

 

#작업 자동화/작업 녹화

q문자 : 해당 문자의 이름으로 작업 녹화가 시작됨

ex) qa 누른 후 dd같은 작업 실행 -> q로 녹화 끝냄

이후 @a 하면 a란 이름으로 녹화된 작업이 실행됨

 

[명령행모드 명령어]

#라인번호

:set nu - 라인번호 출력(행 번호 출력)

:set nonu - 라인번호 해제

:숫자 -> 해당 숫자번째 라인으로 이동 ( :5 -> 5번째줄로 이동)

 

#치환

:%s/바꿀단어/바꿔질단어/g - 문서 안의 해당 단어들을 일괄적으로 다 바꿈

:%s/바꿀단어/바꿔질단어/c - 문서 안의 단어들 한번한번씩 바꿀건지 물어봄

 

#분할

:vs - 수직적 창 분할

:sp - 수평적 창 분할

분할된 후 Ctrl + w 누른 후 방향키(또는 hjkl)로 창 이동 가능

:q - 분할 해제

 

#파일

:enew - 새 파일 생성

:E - 파일탐색기

 

 

+)

vim adventure : 게임으로 vim 명령어 익힐 수 있음

vim-adventures.com/

 

Learn VIM while playing a game - VIM Adventures

VIM Adventures is an online game based on VIM's keyboard shortcuts. It's the "Zelda meets text editing" game. So come have some fun and learn some VIM!

vim-adventures.com

728x90
728x90

댓글