VI 명령어 정리된것
☆ 삽입 명령
명령어 |
설명 |
a |
커서 뒤에 입력 |
A |
라인 끝에 입력 |
i |
커서 앞에 입력 |
I |
라인시작 부분에 입력 |
o |
커서 있는 라인 밑에 입력 |
O |
커서가 있는 라인 위에 입력 |
☆ 커서 이동 명령
명령어 |
설명 |
h |
왼쪽으로 커서 한 칸 이동 |
H |
화면의 처음으로 이동 |
L |
오른쪽으로 한 칸 이동 |
L |
화면 끝으로 이동 |
e |
다음 단어의 마지막으로 이동 |
E |
커서를 공백으로 구분된 다음 단어 끝으로 이동 |
b |
한 단어 뒤로 |
B |
커서를 공백으로 구분된 이전 단어로 이동 |
w |
커서를 한 단어 뒤로 |
W |
커서를 공백으로 구분된 다음 단어로 이동 |
k |
커서를 한 라인 위로 |
j |
커서를 한 라인 아래로 이동 |
O |
커서를 라인의 시작으로 이동 |
$ |
커서를 라인의 끝으로 이동 |
Enter |
커서를 다음 라인 시작으로 이동 |
- |
커서를 전 라인의 시작으로 이동 |
Ctrl + F |
다음 화면으로 이동 |
Ctrl + D |
화면의 반만 앞으로 이동 |
Ctrl + B |
전 화면으로 이동 |
Ctrl + U |
화면의 반만 뒤로 이동 |
G |
커서를 텍스트 마지막 라인으로 |
숫자G |
커서를 숫자 라인만큼 이동 |
M |
커서를 화면 중간 라인으로 이동 |
“ |
커서를 전 위치로 이동 |
( |
문장의 시작으로 이동 |
{ |
문단의 시작으로 이동 |
) |
문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동 |
} |
문단 끝으로 이동 |
☆ 방향키를 이용한 커서 이동 명령
명령어 |
설명 |
<-, |
왼쪽으로 커서 한 칸 이동 |
PageUp |
화면 위로 이동 |
->, Space |
오른쪽으로 한 칸 이동 |
PageDown |
화면 아래로 이동 |
↑ |
윗 줄로 커서 이동 |
Enter |
다음 줄 첫 칸으로 이동 |
↓ |
아래 줄로 커서 이동 |
Esc |
다음 줄 첫 칸으로 이동 |
Home |
줄 처음 칸으로 이동 |
☆ 삭제 명령
명령어 |
설명 |
x |
커서가 있는 문자 삭제 |
X |
커서가 있는 문자 앞에 있는 문자 삭제 |
dw |
커서가 있는 단어 삭제 |
db |
커서가 앞에 있는 단어 삭제 |
dW |
공백으로 구분된 뒷 단어 삭제 |
dB |
공백으로 구분된 앞 단어 삭제 |
dd |
커서가 있는 라인 삭제 |
D |
커서가 있는 라인의 나머지 삭제 |
d) |
문장의 나머지 삭제 |
d} |
문단의 나머지 삭제 |
dG |
파일의 나머지 삭제 |
dH |
화면의 시작까지 삭제 |
dL |
화면의 나머지 삭제 |
J |
커서와 다음 단어의 공백을 모두 삭제 |
☆ 바꾸기 명령
명령어 |
설명 |
r |
커서에 있는 문자 대치 |
R |
입력 모드로 한 문자씩 덮어씀 |
s |
커서가 있는 문자 삭제 후 입력 모드로 전환 |
S |
커서가 있는 줄을 삭제 후 입력 모드로 전환 |
cb |
커서가 있는 앞 문자 삭제 후 입력 모드 |
cW |
공백으로 구분된 뒷 단어를 삭제 후에 입력 모드 |
cB |
공백으로 구분된 앞 단어 삭제 후 입력 모드 |
cc |
커서가 있는 라인을 삭제하고 입력 모드 |
C |
커서가 있는 라인의 나머지를 삭제하고 입력 모드로 전환 |
cO |
커서에서부터 라인의 시작까지 텍스트 바꾸기 |
c |
특정 텍스트 바꾸기 |
c) |
문장의 나머지 바꾸기 |
c} |
문단의 나머지 바꾸기 |
cG |
파일의 나머지 바꾸기 |
cm |
표시까지 모든 것 바꾸기 |
cL |
화면의 나머지 바꾸기 |
ch |
화면의 시작까지 바꾸기 |
☆ 복사
명령어 |
설명 |
yw |
커서가 있는 단어를 복사 |
yb |
커서가 있는 앞 단어를 복사 |
yW |
공백으로 구분된 뒷 단어 복사 |
yB |
공백으로 구분된 앞 단어를 복사 |
y |
특정한 다음 텍스트 복사 |
yy |
커서가 있는 라인을 복사, 커서가 가리키는 곳으로 라인을 이동 |
y) |
문자의 나머지 복사 |
y} |
문단의 나머지 복사 |
yG |
파일의 나머지 복사 |
yH |
화면의 시작까지 복사 |
yL |
화면의 나머지 복사 |
☆ 텍스트 이동
명령어 |
설명 |
p |
삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입 |
P |
삭제나 복사된 텍스트를 커서가 있는 문자나 라인 앞에 삽입 |
dw p |
커서가 있는 단어를 삭제한 후 이를 원하는 곳 커서 뒤로 삽입 |
dw P |
커서가 있는 단어를 삭제한 후 이를 변경한 커서가 있는 곳으로 삽입 |
d p |
지정한 다음 텍스트로 삭제한 후 커서가 가리키는 곳으로 이동 |
d) P |
문장의 나머지로 이동 |
d} p |
문단의 나머지로 이동 |
dG P |
파일의 나머지로 이동 |
dH P |
화면 시작 부분으로 이동 |
dL P |
화면의 나머지를 이동 |
☆ vi 에디터 종료 마치기 명령
명령어 |
설명 |
:q |
그대로 종료하기 |
:q! |
변경된 내용을 저장하지 않고 강제로 종료하기 |
:wq |
변경된 내용을 저장하고 종료하기 |
:x |
:wq와 동일한 명령 |
ZZ |
:wq와 동일한 명령 |
☆ 검색
명령어 |
설명 |
/pattern |
텍스트에서 앞으로 패턴 검색 |
>pattern |
텍스트에서 뒤로 패턴 검색 |
n |
앞 또는 뒤로 이전 검색 반복 |
N |
반대 방향으로 이전 검색 반복 |
/ |
전 검색을 앞으로 반복 |
? |
전 검색을 뒤로 반복 |
☆ 문자열 치환
명령어 |
설명 |
:s/old/new |
현재 행의 처음 old를 new로 교체 |
:s/old/new/g |
현재 행의 모든 old를 new로 교체 |
:10,20s/old/new/g |
10행부터 20행까지 모든 old를 new로 교체 |
:-3,+4s/old/new/g |
현재 커서 위치에서 3행 위부터 4행 아래까지 old를 new로 교체 |
:%s/old/new/g |
문서 전체에서 old를 new로 교체 |
:%s/old/new/gc |
문서 전체에서 old를 new로 확인하며 교체 |
:g/pattern/s/old/new/g |
Pattern이 있는 모든 행의 old를 new로 교체 |
:g/pattern/s//new/g |
:%s/old/new/g와 동일 |
☆ 옵션
옵션 |
약어 |
기능 |
기본값 |
autoindent |
ai |
들여 쓰기 가능, 탭으로 들여 쓰기 범위 지정 |
off |
autoprint |
ap |
줄이 바뀔 때 현재 줄을 화면상에서 출력 |
on |
errobells |
ed |
명령 에러가 발생시 삑 소리나게 함 |
off |
number |
nu |
줄 번호를 나타나게 함 |
off |
report |
report |
편집시 메시지를 보낼 편집 변화 크기 지정 |
5 |
showmatch |
sm |
가로 닫기 괄호를 사용할 때 일치하는 가로 열기 괄호를 보여줌 |
off |
wam |
wam |
저장하지 않고 vi 종료할 때 경고 메시지를 뿌려 줌 |
on |
ignorecase |
ic |
검색 패턴에 사용되는 대소문자 구별하지 않음 |
on |
tabstopp=n |
ts=n |
탭 공백을 n 수만큼 지정 |
8 |
wrapmargin=n |
wm=n |
텍스트 오른쪽 여백을 n 수만큼 지정 |
0 |
☆ Mark 사용
명령어 |
설명 |
mx |
현재 위치를 x 이름의 마크로 저장 |
`` |
이전에 마크한 위치로 이동 |
`x |
마크한 위치(행, 열)로 이동 |
‘’ |
이전에 마크한 줄로 이동 |
‘x |
마크한 줄로 이동 |
☆ Named Buffer 사용
명령어 |
설명 |
“ayy |
현재 줄을 "a 버퍼에 복사 |
“Ayy |
기존의 버퍼에 현재 줄을 버퍼에 추가 |
"ap |
“a 버퍼에 복사된 데이터를 붙여 넣기 |
☆ 여러 문서 편집 ( vi filename1, filename2 … 로 실행 ; 여러 파일 열기)
명령어 |
설명 |
:n |
vi로 open한 여러 파일중 다음 파일로 전환 |
:N |
vi로 open한 여러 파일중 이전 파일로 전환 |
:4n |
여러 파일중 4개 파일 skip후 파일 Open |
:args |
현재 열린 모든 파일중 현재 편집중인 파일 표시 |