Linux 와 Unix 의 vi 명령어 사용법 정리
vi 시작 명령어 | |
vi filename | 파일 열기, 해당 파일명의 파일이 없을 경우 신규 생성 |
vi +18 filename | 18행으로 파일 열기 |
vi +/"문자열" fn | "문자열"의 처음발생 단어부터 열기 |
vi -r filename | 손상된 파일 회복 |
view filename | 읽기 전용으로 파일 열기 |
vi 커서 이동 명령어 | |
h(←) | 왼쪽으로 커서 이동 |
j(↓) | 아래로 커서 이동 |
k(↑) | 위로 커서 이동 |
l(→) | 오른쪽으로 커서 이동 |
w | 오른쪽 한 단어의 끝 부분으로 커서 이동 |
e | 오른쪽 한 단어의 앞 부분으로 커서 이동 |
b | 왼쪽 한 단어의 앞 부분으로 커서 이동 |
Enter | 한 행 아래로 커서 이동 |
Back space | 한 문자 왼쪽으로 커서 이동 |
Space Bar | 한 문자 오른쪽으로 커서 이동 |
^ | 행의 맨 왼쪽으로 커서 이동 |
$ | 행의 맨 오른쪽으로 커서 이동 |
H | 화면의 맨 위로 이동 |
M | 화면의 중간으로 이동 |
L | 화면의 맨 아래로 이동 |
숫자G | 숫자만큼 지정한 줄로 커서 이동 |
Ctrl + f | 한 화면 위로 이동 |
Ctrl + b | 한 화면 아래로 이동 |
Ctrl + d | 반 화면 위로 이동 |
Ctrl + u | 반 화면 아래로 이동 |
Ctrl + e | 한 줄씩 위로 이동 |
Ctrl + y | 한 줄씩 아래로 이동 |
문자,행 삽입 명령어 | |
a (종료:ESC) | 커서 오른쪽에 문자 삽입 |
A (종료:ESC) | 커서 오른쪽, 행의 끝에 문자 삽입 |
i (종료:ESC) | 커서 왼쪽에 문자 삽입 |
I (종료:ESC) | 커서 왼쪽, 행의 처음에 문자 삽입 |
o (종료:ESC) | 커서 아래에 행 삽입 |
O (종료:ESC) | 커서 위에 행 삽입 |
텍스트 변경 명령어 | |
cw (종료:ESC) | 단어 변경 |
cc (종료:ESC) | 행 변경 |
C (종료:ESC) | 커서 오른쪽의 행 변경 |
s (종료:ESC) | 커서가 위치한 문자열 대체 |
S (종료:ESC) | 커서가 위치한 라인의 문자열 대체 |
r | 커서 위치 문자를 다른 문자로 대체 |
r-Enter | 행 분리 |
J | 현재 행과 아래 행 결합 |
xp | 커서 위치 문자와 오른쪽 문자 교환 |
~ | 문자형(대,소문자) 변경 |
u | 이전 명령 취소 |
U | 행 변경 사항 취소 |
:u | 이전의 최종 행 취소 |
. | 이전 최종 명령 반복 |
텍스트 삭제 명령어 | |
x | 커서가 있는 문자 삭제 |
5x | 커서가 있는 위치부터 5개의 문자를 삭제 |
dw | 현재 커서가 있는 한단어 삭제 |
dd | 커서가 있는 라인 삭제 |
5dd | 커서가 있는 라인부터 5개의 라인 삭제 |
db | 커서의 위치에서 꺼꾸로 한단어 삭제 |
D | 커서 오른쪽 행 삭제 |
:5,10d | 5-10번째 행 삭제 |
복사 및 이동 명령어 | |
yy | 행 yank 또는 복사 |
Y | 행 yank 또는 복사 |
P | yank되거나 삭제된 행 현재 행 위에 삽입 |
p | yank되거나 삭제된 행 현재 행 아래에 삽입 |
:1,2 co 3 | 1-2행을 3행 다음으로 복사 |
:4,5 m 6 | 4-5행을 6행 위로 이동 |
행 번호 설정 명령어 | |
:set nu | 행 번호 표시 |
:set nonu | 행 번호 숨기기 |
행 찾기 명령어 | |
G | 파일의 마지막 행으로 가기 |
숫자G | 파일의 "숫자"번째 행으로 가기 |
Ctrl + G | 현재의 filename과 line수를 알려줌 |
저장 및 종료 명령어 | |
:w | 변경사항 저장 |
:w filename | 버퍼를 파일로 저장 |
:wq | 변경사항 저장 후 vi 종료 |
ZZ | 변경사항 저장 후 vi 종료 |
:q! | 변경사항 저장하지 않고 종료 |
q | 수정한 파일을 저장하지 않고 vi 종료 |
e! | 수정한 것을 무시하고 다시 편집상태로 |
Reference :