가끔 웹서버에 접속해서 간단한 코드를 수정할때면 Telnet을 많이 사용합니다.
너무 가끔씩 하다보니 매번 까먹는 VI 명령어..
잘 정리되어 있는 글이 있어 낼름 퍼옵니다.
출처 : http://databook.tistory.com/8
출처의 출처 : http://hbesthee.tistory.com/494
엑셀파일로 다운 받기 : Unix(Linux)_VI_Commands_20091110.xls
▲ UNIX의 VI 명령어 정리 |
From. http://hbesthee.tistory.com/494 |
|
|
|
|
☆ 삽입 명령 |
|
|
명령어 |
설명 |
|
|
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 |
커서를 화면 중간 라인으로 이동 |
|
|
“ |
커서를 전 위치로 이동 |
|
|
( |
문장의 시작으로 이동 |
|
|
{ |
문단의 시작으로 이동 |
|
|
) |
문장 끝으로 이동하여 다음 단어의 시작으로 커서 이동 |
|
|
} |
문단 끝으로 이동 |
|
|
|
|
|
|
|
|
|
|
☆ 방향키를 이용한 커서 이동 명령 |
|
|
명령어 |
설명 |
|
|
<-, Del |
왼쪽으로 커서 한 칸 이동 |
|
|
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 |
저장하지 않고 vi 종료할 때 경고 메시지를 뿌려 줌 |
wam |
on |
ignorecase |
검색 패턴에 사용되는 대소문자 구별하지 않음 |
ic |
on |
tabstopp=n |
탭 공백을 n 수만큼 지정 |
ts=n |
8 |
wrapmargin=n |
텍스트 오른쪽 여백을 n 수만큼 지정 |
wm=n |
0 |
|
|
|
|
|
|
|
|
☆ Mark 사용 |
|
|
명령어 |
설명 |
|
|
mx |
현재 위치를 x 이름의 마크로 저장 |
|
|
`` |
이전에 마크한 위치로 이동 |
|
|
`x |
마크한 위치(행, 열)로 이동 |
|
|
‘’ |
이전에 마크한 줄로 이동 |
|
|
‘x |
마크한 줄로 이동 |
|
|
|
|
|
|
|
|
|
|
☆ Named Buffer 사용 |
|
|
명령어 |
설명 |
|
|
“ayy |
현재 줄을 "a 버퍼에 복사 |
|
|
“Ayy |
기존의 버퍼에 현재 줄을 버퍼에 추가 |
|
|
"ap |
“a 버퍼에 복사된 데이터를 붙여 넣기 |
|
|
|
☞‘a’ 부터 ‘z’ 까지 사용가능 |
|
|
|
|
|
|
|
|
|
|
☆ 여러 문서 편집 ( vi filename1, filename2 … 로 실행 ; 여러 파일 열기) |
|
|
명령어 |
설명 |
|
|
:n |
vi로 open한 여러 파일중 다음 파일로 전환 |
|
|
:N |
vi로 open한 여러 파일중 이전 파일로 전환 |
|
|
:4n |
여러 파일중 4개 파일 skip후 파일 Open |
|
|
:args |
현재 열린 모든 파일중 현재 편집중인 파일 표시 |
|
|
|