vi의 종료
- 먼저 <ESC>키로 명령모드로 전환 한후 종료 명령
<ZZ> | 버퍼를 파일에 기록하고 종료 |
:wq | 버퍼를 파일에 기록하고 종료 |
:q! | 버퍼의 내용을 파일에 기록하지 않고 무조건 종료 |
:q | 버퍼의 내용과 파일의 내용이 일치하는 경우 종료 |
텍스트 편집 명령
a | 커서 뒤에 삽입 |
A | 줄의 마지막에 삽입 |
i | 커서 앞에 삽입 |
I | 줄의 시작에 삽입 |
o | 현재 커서의 다음에 빈 라인을 생성 |
O | 현재 커서의 앞에 빈 라인을 생성 |
파일에 관한 명령
:r [파일명] | 파일의 내용을 읽어와서 현재의 커서 아래에 삽입 |
:e! [파일명] | 편집중인 파일을 무시하고 새로운 파일을 작성, 편집 |
:e [파일명] | 새로운 파일을 작성, 편집 |
:n | 파일 목록의 다음 파일로 이동 |
:w | 현재 편집중인 파일을 저장 |
:w [파일명] | 현재 편집중인 파일을 새로운 파일명으로 저장 |
w! [파일명] | 현재 편집중인 파일을 현존하는 파일명으로 저장 |
커서의 이동 명령
1) 문자 단위 이동
h | 한 문자 왼쪽으로 |
j | 한 문자 아래로 |
k | 한 문자 위로 |
l | 한문자 오른쪽으로 |
→←↑↓ | 화살표 발향으로 이동 |
[BackSpace] | 한 문자 왼쪽으로 |
[Enter] | 다음 라인의 시작으로 |
2) 라인에서의 이동
^ 또는 0 | 라인의 시작위치로 |
$ | 라인의 끝 위치로 |
3) 페이지 단위 이동
[Ctrl]-f | 한 페이지 위로 |
[Ctrl]-b | 한 페이지 아래로 |
[Ctrl]-u | 반 페이지 위로 |
[Ctrl]-d | 반 페이지 아래로 |
4) 단어 단위 이동
w | 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식 |
W | 한 단어 오른쪽으로 이동, 새 단어의 시작 문자에 위치 |
b | 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치,구두점을 한 단어로 인식 |
B | 한 단어 왼쪽으로 이동, 새 단어의 시작 문자에 위치 |
e | 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치,구두점을 한 단어로 인식 |
E | 한 단어 오른쪽으로 이동, 새 단어의 마지막 문자에 위치 |
5) 파일에서의 이동
G | 파일의 끝으로 이동 |
nG 또는 :n | n번째 라인으로 이동 |
6) 화면에서의 이동
H | 화면의 첫줄로 이동 |
L | 화면의 끝으로 이동 |
M | 화면의 중간으로 이동 |
삭제 명령
1) 문자 단위 삭제
x | 커서가 위치한 곳의 한 문자 삭제 |
nx | n 개의 문자 삭제 |
X | 커서가 위치한 곳 앞의 한 문자 삭제 |
nX | n 개의 문자 삭제 |
2) 라인 단위 삭제
dd | 한 라인 삭제 |
ndd | n개의 라인 삭제 |
d0 또는 d^ | 커서 위치부터 라인의 처음 까지 삭제 |
d$, D | 커서 위치부터 라인의 끝 까지 삭제 |
3) 단어 단위 삭제
dw | 커서 위치에서 오른쪽 한 단어 삭제 |
db | 커서 위치에서 왼쪽 한 단어 삭제 |
4) d+이동명령
dh,dj,dk,dl,d0,d$
5) 파일에서의 삭제
dG | 커서 위치부터 파일의 끝 까지 삭제 |
dnG | 커서 위치부터 n번째 라인까지 삭제 |
| |
복사 명령
1) 라인 단위 복사
yy | 한 라인 복사 |
nyy | n개의 라인 복사 |
y0 또는 y^ | 커서 위치부터 라인의 처음 까지 복사 |
y$, Y | 커서 위치부터 라인의 끝 까지 복사 |
2) 단어 단위 복사
yw | 커서 위치에서 오른쪽 한 단어 복사 |
yb | 커서 위치에서 왼쪽 한 단어 복사 |
3) 붙여 넣기
p | 커서 위치에서 오른쪽에 붙여 넣기 |
P | 커서 위치위 윗 줄에 붙여 넣기 |
수정 명령
(1) 문자 단위 수정
r | 한 문자 수정후 명령 모드 |
nr | n개의 문자를 수정후 명령 모드 |
R | 한 문자 수정후 편집 모드 |
nR | n개의 문자를 수정후 편집 모드 |
(2) 한 문자를 여러 문자로 수정
(3) 여러 문자를 수정
cw | 현재 커서위치에서 오른쪽 단어 수정 |
cb | 현재 커서위치에서 왼쪽 단어 수정 |
c0 또는 c^ | 커서가 위치한 라인의 시작에서 커서 위치까지 수정 |
c$또는 C | 커서의 위치에서 라인의 끝까지 수정 |
cc | 한 줄을 모두 수정 |
라인의 결합
명령 실행 취소 명령
u | 직전의 한 명령 실행 취소(undo), 일부 시스템에서는 여러 명령 취소 가능 |
U | 현재 라인에서의 명령들의 실행 취소 |
[Ctrl]-r | 취소명령의 취소(redo), 일부 시스템에서만 지원 |
검색
/[패턴] | 앞으로 이동하면서 [패턴]을 검색 |
?[패턴] | 뒤로 이동하면서 [패턴]을 검색 |
n | 반복 해서 이전에 지정된 [패턴]을 검색(next search) |
기타 명령
- :!command - 쉘로 나가지 않고 쉘명령을 수행
- :sh - 쉘로 잠시 나감, 복귀하려면 exit
- . - 직전 명령어 재수행
- [CTRL]-g : 전체 줄수와 현재 커서가 위치한 줄 번호
- ~ - 대소문자 변경
vi 편집기의 환경 설정
- :set nu - 라인번호 표시 설정
- :set nonu - 라인번호 표시 설정 해제
<li></li>
<li>
</li>
<li>
</li>