인프런의 "김왼손의 왼손코딩" 님 강의 듣고 정리한 것
[모드]
일반모드/입력모드/명령행모드
#입력모드로 전환
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 명령어 익힐 수 있음
'공부 > Linux' 카테고리의 다른 글
[Linux] SSH 포트 변경하기 (0) | 2021.03.14 |
---|---|
[Linux] SWAP 메모리 설정 (0) | 2021.02.16 |
[Linux] Timezone Seoul로 변경하기 (1) | 2020.12.18 |
[Linux] CentOS 7에서 Python 사용하기 (0) | 2020.07.13 |
[Linux] CentOS 7에서 웹서버 구축 후 403에러 띄우기 (0) | 2020.07.07 |
댓글