vi 시작 명령어
- 파일 열기
vi {파일명}
예시)
vi text.txt
- 커서 이동
키 | 설명 |
---|---|
h(←) | 왼쪽으로 이동 |
j(↓) | 아래로 이동 |
k(↑) | 위로 이동 |
l(→) | 오른쪽으로 이동 |
e | 오른쪽 한 단어의 끝으로 이동 |
w | 오른쪽 한 단어의 앞으로 이동 |
b | 왼쪽 한 단어의 앞으로 이동 |
Enter | 한 행 아래로 이동 |
Back Space | 한 문자 왼쪽으로 커서 이동 |
Space Bar | 한 문자 오른쪽으로 커서 이동 |
^ | 행 맨 왼쪽으로 이동 |
$ | 행 맨 오른쪽으로 이동 |
H | 화면 맨 위로 이동 |
M | 화면 중간으로 이동 |
L | 화면 맨 아래로 이동 |
숫자G | 숫자만큼 줄 이동 |
Ctrl + i | 한 화면 위로 이동 |
Ctrl + b | 한 화면 아래로 이동 |
Ctrl + d | 반 화면 위로 이동 |
Ctrl + u | 반 화면 아래로 이동 |
Ctrl + e | 한 줄씩 위로 이동 |
Ctrl + y | 한 줄씩 아래로 이동 |
- 문자, 행, 삽입 명령어 |
키 | 설명 |
---|---|
a | 커서 오른쪽에 문자 삽입 |
A | 커서 오른쪽, 행의 끝에 문자 삽입 |
i | 커서 왼쪽에 문자 삽입 |
I | 커서 왼쪽, 행의 처음에 문자 삽입 |
o | 커서 아래에 행 삽입 |
O | 커서 위에 행 삽입 |
ESC | 종료 |
- 텍스트 변경 명령어 |
명령어 | 설명 |
---|---|
cw | 단어 변경 |
cc | 행 변경 |
C | 커서 오른족의 행 변경 |
s | 커서가 위치한 문자열 대체 |
S | 커서가 위차한 라인의 문자열 대체 |
r | 커서 위치 문자를 다른 문자로 대체 |
r-Enter | 행 분리 |
J | 현 행과 아래 행 결합 |
xp | 커서 위치 문자와 오른쪽 문자 교환 |
~ | 대소문자 변경 |
u | 이전 명령 취소 |
U | 행 변경 사항 취소, 이전의 최종 행 취소 |
. | 이전 최종 명령 반복 |
- 텍스트 삭제 명령어 |
명령어 | 설명 |
---|---|
x | 커서가 있는 문자 삭제 |
nx | 커서가 있는 위치부터 n개의 문자를 삭제 |
dw | 현재 커서에 있는 한 단어 삭제 |
dd | 커서가 있는 라인 삭제 |
ndd | 커서가 있는 라인부터 n개의 라인 삭제 |
db | 커서의 위치에서 거꾸로 한 단어 삭제 |
D | 커서 오른쪽 행 삭제 |
:시작숫자,끝숫자d | 시작~끝 행 삭제 |
- 복사/이동 명령어 |
명령어 | 설명 |
---|---|
yy | 커서가 있는 줄 복사 |
Y | 행 yank 또는 복사 |
yh | 커서의 왼쪽 문자 복사 |
yl | 커서에 위치한 문자 복사 |
yi | 커서가 위치한 줄과 그 아랫줄 복사 |
yk | 커서가 위치한 줄과 그 윗줄 복사 |
p | yank 되거나 삭제된 행을 현재 행 위로 삽입 |
P | yank 되거나 삭제된 행을 현재 행 아래에 삽입 |
:1,2 co 3 | 1~2행을 3행 다음으로 복사 |
:4,5 m 6 | 4~5행을 6행 위로 이동 |
- 탐색 및 대체 명령어 |
명령어 | 설명 |
---|---|
/{검색할 문자열} | 오른쪽 아래 방향으로 문자열 검색 |
?{검색할 문자열} | 왼쪽 위 방향으로 문자열 검색 |
n | 문자열의 다음으로 게속 검색 |
N | 문자열의 이전으로 계속 검색 |
:%s/[원본단어]/[바꿀단어] | 문자 치환 |
- 파일 명령어 |
명령어 | 설명 |
---|---|
:r {파일명} | 커서 다음에 파일 삽입 |
:{행번호} r {파일명} | 행번호 다음에 파일 삽입 |
- 저장 및 종료 명령어 |
명령어 | 설명 |
---|---|
:w | 변경사항 저장 |
:wq | 변경사항 저장 후 vi 종료 |
:q! | 변경사항 저장 않고 종료 |
q | 수정한 파일을 저장하지 않고 vi 종료 |
e! | 수정한 것을 무시하고 다시 편집 상태로 |
'TIL' 카테고리의 다른 글
[React] useContext로 로그인 상태 관리하기 (0) | 2023.11.08 |
---|---|
프로세스 스케줄링 (0) | 2023.04.11 |
swap 설치를 통해 ec2 메모리 할당하기 (0) | 2022.08.04 |
HTTP 프로토콜은 뭘까? (0) | 2022.05.02 |
OSI 모델 - Session Layer(layer 5)!? (0) | 2022.04.10 |