vi 시작 |
텍스트 삭제 |
|
vi filename |
파일열기, 작성 |
|
x |
문자 삭제 |
|
vi +18 filename |
18행으로 파일 열기 |
|
dw |
단어 삭제 |
|
vi +/"string" fn |
"string"의 처음 발생 단어부터 |
|
dd |
행 삭제 |
|
vi -r filename |
손상된 파일 회복 |
|
D |
커서 오른쪽 행 삭제 |
|
view filename |
읽기 전용으로 파일 열기 |
|
:5,10 d |
5-10 번째 행 삭제 |
커서명령(이동) |
텍스트 복사 및 이동 |
|
h(←) |
왼쪽으로 커서 이동 |
|
yy |
행 yank 또는 복사 |
|
j(↓) |
아래로 커서 이동 |
|
Y |
행 yank 또는 복사 |
|
k(↑) |
위로 커서 이동 |
|
dd |
행 삭제 |
|
l(→) |
오른쪽으로 커서 이동 |
|
P |
yank되거나 삭제된 행 현재 행 위에 삽입 |
|
w |
한 단어 오른 쪽으로 커서 이동 |
|
p |
yank되거나 삭제된 행 현재 행 아래에 삽입 |
|
b |
한 단어 왼쪽으로 커서 이동 |
|
:1,2 co 3 |
1-2행을 3행 다음으로 복사 |
|
Return |
한 행 아래로 커서 이동 |
|
:4,5 m 6 |
4-5행을 6행 위로 이동 |
|
Back Space |
한 문자 왼쪽으로 커서 이동 |
행 번호 설정 |
|
Space Bar |
한 문자 오른 쪽으로 커서 이동 |
|
:set nu |
행 번호 표시 |
|
H |
화면의 맨위로 이동 |
|
:set nonu |
행 번호 숨기기 |
|
M |
화면의 중간으로 이동 |
행 찾기 |
|
L |
화면의 맨 아래로 이동 |
|
G |
파일의 마지막 행으로 가기 |
|
Ctrl + F |
한 화면 앞으로 이동 |
|
21G |
파일의 21번째 행을 가기 |
|
Ctrl + D |
반 화면 앞으로 이동 |
탐사 및 대체 |
|
Ctrl + B |
한 화면 뒤로 이동 |
|
/string/ |
string 탐색 |
|
Ctrl + U |
반 화면 뒤로 이동 |
|
?string? |
string 역방향 탐색 |
문자와 행 삽입 |
|
n(N) |
string의 다음(이전) 계속 탐색 |
|
a |
커서 오른쪽에 문자 삽입 |
|
:g/search-string/s//replace-string/gc |
|
A |
커서 오른쪽, 행의 끝에 문자 삽입 |
|
|
각 발생 탐색 후 확인하고 대체 |
|
i |
커서 왼쪽에 문자 삽입 |
|
:s/srt/rep |
현재 행의 str을 rep로 대체 |
|
I |
커서 왼쪽, 행의 처음에 문자 삽입 |
|
:1,.s/str/rep/ |
1부터 현재 행의 str을 rep로 대체 |
|
o |
커서 아래에 행 삽입 |
|
:%s/str/rep/g |
파일 전체 str을 rep로 전부 대체 |
|
O |
커서 위에 행 삽입 |
|
|
|
텍스트 변경 |
화면정리 |
|
cw (종료:ESC) |
단어변경 |
|
:Ctrl-1 |
불필요한 화면정리 후 다시 표시 |
|
cc (종료:ESC) |
행 변경 |
파일을 파일로 삽입 |
|
C (종료:ESC) |
커서 오른쪽의 행 변경 |
|
:r filename |
커서 다음에 파일 삽입 |
|
s (종료:ESC) |
커서가 위치한 문자열 대체 |
|
:34 r filename |
파일을 34번째 행 다음에 삽입 |
|
r |
커서 위치의 문자를 다른 문자로 대체 |
보관 및 종료 |
|
r - Return |
행 분리 |
|
:w |
변경사항 보관 |
|
J |
현재 행과 아래 행 결합 |
|
:w filename |
버퍼를 파일로 보관 |
|
xp |
커서 위치 문자와 오른쪽 문자 교환 |
|
:wq |
변경사항 보관 후 vi 종료 |
|
~ |
문자형(대.소문자)변경 |
|
ZZ |
변경사항 보관 후 vi 종료 |
|
u |
이전 명령 취소 |
|
:q! |
변경사항 보관하지 않고 종료 |
|
U |
행 변경 사항 취소 |
|
|
|
|
:u |
이전의 최종 행 취소 |
|
|
|
|
. |
이전 최종 명령 반복 |
|
|
|
VI 활용
커서 움직이기
글자 단위 이동 |
k |
위쪽으로 |
|
j |
아랫쪽으로 |
|
h |
왼쪽으로 |
|
l |
오른쪽으로 |
줄 단위 이동 |
^ |
줄의 맨앞으로 (빈칸무시) |
|
0 |
줄의 맨앞으로 |
|
$ |
줄의 맨뒤로 |
|
% |
짝을 이루는 기호 확인하기 |
|
+ |
다음줄의 첫번째 글자로 |
|
- |
윗줄의 첫번째 글자로 |
|
n| |
현재줄의 n 번째 열로 (n은 임의의 숫자) |
|
H |
화면상에 처음줄로 |
|
M |
화면상의 중간줄로 |
|
L |
화면상의 마지막줄로 |
|
nH |
화면상의 처음줄로부터 n 줄 밑으로 |
|
nL |
화면상의 마지막줄로부터 n 줄 위로 |
|
G |
맨 마지막줄로 (go) |
|
nG |
n 번째줄로 |
|
gg |
맨 마지막줄로 |
|
ngg |
n 번째줄로 |
|
n |
n 번째줄로 |
단어 단위 이동 |
w |
한단어 오른쪽으로 (word) |
|
b |
한단어 왼쪽으로 (back) |
|
e |
현재 단어의 끝으로 이동 (end) |
|
E |
현재 단어의 끝으로 이동 (구두점 무시 - 영문자에 해당 - ? . !.) |
|
) |
다음 문장의 시작으로 |
|
( |
이전 문장의 시작으로 |
|
} |
다음 문단의 시작으로 |
|
{ |
이전 문단의 시작으로 |
|
]] |
다음 섹션의 시작으로 |
|
[[ |
이전 섹션의 시작으로 |
화면단위 이동 |
Control - F |
한화면 밑으로 이동 |
|
Control - B |
한화면 위로 이동 |
|
Control - D |
반쪽화면 밑으로 이동 |
|
Control - U |
반쪽화면 위로 이동 |
|
Control - E |
커서는 현재위치 그대로 화면만 한줄씩 위로 이동 |
|
Control - Y |
커서는 현재위치 그대로 화면만 한줄씩 아래로 이동 |
|
z |
커서의 위치와 함께, 화면상의 맨위로 |
|
nz |
n번 라인을 화면상의 맨위로 |
|
z. |
커서의 위치와 함께, 화면상의 중간으로 |
|
z- |
커서의 위치와 함께, 화면상의 맨아래로 |
|
## Control - G |
현재 편집문서의 정보 보여주기 |
|
## Control - L |
화면 재표시 (글자가 깨졌을경우) |
|
## Control - R |
화면 재표시 (글자가 깨졌을경우) 편집하기 복사, 붙이기, 합치기 | |