Top
<vi 에디터 명령어>
1. vi 시작 명령어
명령어
명령어 동작 설명
vi [file name]
파일 열기, 작성
vi +18 [file name]
18행으로 파일 열기
vi +/"문자열" fn
"문자열"의 처음 발생 단어부터 열기
vi -r [file name]
손상된 파일 회복
view [file name]
읽기 전용으로 파일 열기
2. vi 커서 이동 명령어
h(←)
왼쪽으로 커서 이동
j(↓)
아래로 커서 이동
k(↑)
위로 커서 이동
l(→)
오른쪽으로 커서 이동
w
오른쪽 한 단어의 끝 부분으로 커서 이동
e
오른쪽 한 단어의 앞 부분으로 커서 이동
b
왼쪽 한 단어의 앞 부분으로 커서 이동
Enter
한 행 아래로 커서 이동
Back space
한 문자 왼쪽으로 커서 이동
Space bar
한 문자 오른쪽으로 커서 이동
^
행의 맨 왼쪽으로 커서 이동
$
행의 맨 오른쪽으로 커서 이동
H
화면의 맨 위로 이동
M
화면의 중간으로 이동
L
화면의 맨 아래로 이동
"숫자"G
"숫자"만큼 지정한 줄로 커서 이동
3. 문자, 행 삽입 명령어
a (종료 : esc)
커서 오른쪽에 문자 삽입
A (종료 : esc)
커서 오른쪽, 행의 끝에 문자 삽입
i (종료 : esc)
커서 왼쪽에 문자 삽입
I (종료 : esc)
커서 왼쪽, 행의 처음에 문자 삽입
o (종료 : esc)
커서 아래에 행 삽입
O (종료 : esc)
커서 위에 행 삽입
4. 텍스트 변경 명령어
cw (종료 : esc)
단어 변경
cc (종료 : esc)
행 변경
C (종료 : esc)
커서 오른쪽의 행 변경
s (종료 : esc)
커서가 위치한 문자열 대체
S (종료 : esc)
커서가 위치한 라인의 문자열 대체
r
커서 위치 문자를 다른 문자로 대체
r-Enter
행 분리
J
현재 행과 아래 행 결합
xp
커서 위치 문자와 오른쪽 문자 교환
~
문자형(대, 소문자) 변경
u
이전 명령 취소
U
행 변경 사항 취소
:u
이전의 최종 행 취소
.
이전 최종 명령 반복
5. 택스트 삭제 명령어
x
커서가 있는 문자 삭제
5x
커서가 있는 위치부터 5개의 문자를 삭제
dw
현재 커서가 있는 한 단어 삭제
dd
커서가 있는 라인 삭제
5dd
커서가 있는 라인부터 5개의 라인 삭제
db
커서의 위치에서 거꾸로 한 단어 삭제
D
커서 오른쪽 행 삭제
:5,10d
5-10번째 행 삭제
6. 복사 및 이동 명령어
yy
행 yank 또는 복사
Y
P
yank되거나 삭제된 행 현재 행 위에 삽입
p
yank되거나 삭제된 행 현재 행 아래에 삽입
:1,2 co 3
1-2행을 3행 다음으로 복사
:4,5 m 6
4-5행을 6행 위로 이동
7. 행 번호 설정 명령어
:set nu
행 번호 표시
:set nonu
행 번호 숨기기
8. 행 찾기 명령어
G
파일의 마지막 행으로 가기
21G
파일의 21번째 행으로 가기
ctrl + G
현재의 filename과 line수를 알려줌
9. 탐색 및 대체 명령어
/검색할 문자열/
오른쪽 아래 방향으로 문자열 검색
?검색할 문자열?
왼쪽 위 방향으로 문자열 검색
n
문자열의 다음으로 계속 검색
N
문자열의 이전으로 계속 검색
:g/search-string/s//replace-
각 발생 탐색 후 확인하고 대체
string/gc
:s/str/rep/
현재 행의 str을 rep로 대체
:1,.s/str/rep/
1부터 현재 행의 str을 rep로 대체 파일
:%s/str/rep/g
전체 str을 rep로 전부 대체
:.$/aaa/bbb/
커서의 위치로부터 파일의 끝까지 있는 모든 aaa를 bbb로 대체
:! [file name]
vi열린 상태에서 외부명령어 실행
10. 화면정리 명령어
ctrl + I
불필요한 화면 정리 후 다시 표시
11. 파일 명령어
:r [file name]
커서 다음에 파일 삽입
:34 r [file name]
파일을 34번째 행 다음에 삽입
:e [file name]
파일 열기
12. 보관 및 종료 명령어
:w
변경사항 저장
:w [file name]
버퍼를 파일로 보관
:wq
변경사항 보관 후 vi 종료
:ZZ
:q!
변경사항 보관하지 않고 종료
:q
수정한 파일을 저장하지 않고 vi 종료
:e!
수정한 것을 무시하고 다시 편집상태로
[출처] [Linux] vi 필수 명령어 모음|작성자 Specialist