저장 및 종료 명령어
명령어 | 설명 |
:w | 파일 저장 |
:w filename | 파일명을 filename으로 저장 |
:w >> filename | 파일 filename에 이어쓰기(Append) |
:q | 파일을 저장하지 않고 vim 종료 (종료하기 전, 저장할지 안할지 묻는 메시지 출력됨) |
:q! | 파일을 저장하지 않고 vim 종료(강제 종료) |
ZZ | 파일 저장 후 종료 |
:wq | 파일 저장 후 종료 |
:wq! | 파일 강제 저장 및 강제 종료 |
:e filename | 파일 불러오기 |
명령 모드에서 입력 모드로 전환
명령어 | 설명 |
i | 커서 위치에서 입력 모드 전환 |
a | 커서 위치 다음 칸부터 입력 모드 전환 |
o | 커서 위치의 다음 행을 개행한 후 입력 모드 전환 |
s | 커서 위치의 한 글자를 지우고 입력(한 글자를 지움 + i 모드) |
r | 커서의 글자를 뒤에 입력하는 글자로 대체(입력 모드로 전환되지 않음) |
A | 커서 행의 맨 마지막부터 입력 |
I | 커서 행의 맨 앞 위치에서 입력 |
O | 커서 위치의 이전 행을 개행한 후 입력 모드 전환 |
cc | 커서 위치의 한 행을 지우고 입력 |
R | 커서부터 뒤에 입력하는 글자로 대체(입력 모드로 전환됨) |
명령 모드에서 커서 이동
명령어 | 설명 |
h 또는 ← | 왼쪽으로 이동 |
j 또는 ↓ | 아래로 이동 |
k 또는 ↑ | 위로 이동 |
l 또는 → | 오른쪽으로 이동 |
※ 방향키 이동은 vi에서는 지원하지 않고, vim에서만 지원함
명령 모드에서 행의 양끝으로 이동
명령어 | 설명 |
^ | 현재 행의 첫 글자로 이동 |
$ | 현재 행의 마지막 글자로 이동 |
명령 모드에서 단어 단위로 이동
명령어 | 설명 |
w, W | 다음 단어의 첫 글자의 이동 |
b, B | 단어의 첫 글자로 이동 (커서가 이미 첫 글자에 있으면, 이전 단어의 첫 글자로 이동) |
e, E | 단어의 마지막 글자로 이동 (커서가 이미 마지막 글자에 있으면, 다음 단어의 마지막 글자로 이동) |
명령 모드에서 다른 행으로 이동
명령어 | 설명 |
[Enter] | 다음 행의 첫 글자로 이동 |
gg, 1G | 문서의 첫 행으로 이동 |
G | 문서의 마지막 행으로 이동 |
[n]G 또는 :[n] | n행으로 이동 (예) 10G 또는 :10 |
M | 커서를 화면의 중앙으로 이동 |
화면 스크롤
명령어 | 설명 |
[Ctrl] + u | 반 화면 위로 스크롤 (up) |
[Ctrl] + d | 반 화면 아래로 스크롤 (down) |
[Ctrl] + b | 한 화면 위로 스크롤 (back, backward) |
[Ctrl] + f | 한 화면 아래로 스크롤 (front, forward) |
삭제(잘라내기)
명령어 | 설명 |
x 또는 dl | 커서 위치의 한 글자 삭제 |
dw | 커서 위치부터 다음 단어의 첫 글자 직전까지 삭제(공백도 함께 삭제) |
dd 또는 dx | 커서 위치의 행(한 줄) 전체 삭제 |
D, d$ | 커서가 위치부터 행의 끝까지 삭제 |
[n]x | 커서 위치부터 n개의 글자 삭제 (예) 10x |
[n]dd | 현재 행부터 n개의 행을 삭제 (예) 10dd |
복사 및 붙여넣기
명령어 | 설명 |
yy | 커서 위치의 행(한 줄) 전체 복사 |
yw | 커서 위치부터 다음 단어의 첫 글자 직전까지 복사(공백도 함께 복사) |
[n]yy | 현재 행부터 n개의 행 복사 (예) 10yy |
[n]yw | 커서 위치부터 n개의 단어 복사 (공백도 함께 복사되지만 단어 개수에는 합산되지 않음) (예) 10yw |
p | 커서 위치에 붙여넣기 |
블록 지정
명령어 | 설명 |
v | 블록 지정(커서 이동 키 사용) |
[Ctrl] + v | 직사각형 형태의 블록 지정(커서 이동 키 사용) |
y | 선택한 블록을 복사(yank) |
d | 선택한 블록을 삭제(delete) |
> | 선택한 블록의 행 들여쓰기(Tab 삽입) |
< | 선택한 블록의 행 내어쓰기(Tab 제거) |
실행 취소 및 다시 실행
명령어 | 설명 |
u | 실행 취소(undo) |
[Ctrl] + r | 다시 실행(redo) |
명령 모드에서 shell 명령어 사용
명령어 | 설명 |
:!<명령어> | 명령 모드에서 shell 명령어 사용 (예) :!ls, :!pwd |
문자열 탐색
명령어 | 설명 |
/ <키워드> | 정방향 검색 시작 |
? <키워드> | 역방향 검색 시작 |
n | (검색 중일 때) 다음 문자열로 이동 |
N | (검색 중일 때) 이전 문자열로 이동 |
문자열 치환
명령어 |
:[범위]s/[찾을 문자열]/[바꿀 문자열]/[옵션] |
[범위] | 설명 |
(범위 미설정) | 현재 행 (예) :s/old/new/g |
% | 문서 전체 (예) :%s/old/new/g |
1, $ | 1행부터 마지막 행($)까지 (예) :%1,$/old/new/g |
1, . | 1행부터 현재 행(.)까지 (예) :%1,./old/new/g |
., $ | 현재 행(.)부터 마지막 행($)까지 (예) :%.,$/old/new/g |
n, m | n행부터 m행까지 (예) :%10,20/old/new/g (예) 10, 20 |
-[n], +[m] | 현재 행의 n행 위부터 m행 아래까지 (예) :%-3,+4/old/new/g |
[옵션] | 설명 |
g | 범위 내 매칭되는 모든 문자열 치환 (g 옵션이 없을 경우, 각 행의 첫 번째 문자열만 치환) |
c | 대화형으로 치환(각 문자열마다 바꿀 것인지 여부를 물어봄) |
'Linux > Linux 관련 노하우' 카테고리의 다른 글
Linux에서 GitHub에 Push할 때 인증 생략하기 (0) | 2023.04.10 |
---|---|
Linux에서 Git & GitHub 사용하기(명령어 요약) (0) | 2023.04.10 |
Linux 기본 명령어 요약 (0) | 2022.10.31 |
Linux에서 'nslookup: 명령어를 찾을 수 없음' 해결 (0) | 2022.10.23 |
Linux 환경에 접속하기 위한 4가지 수단 (0) | 2022.10.02 |