가끔 웹서버에 접속해서 간단한 코드를 수정할때면 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 |
현재 열린 모든 파일중 현재 편집중인 파일 표시 |
|
|
|