vi 사용법
vi 에디터 사용법 !!
vi의 3가지 모드
명령보드 (Esc 모드) |
- Esc 키를 누르면 들어가는 상태로 명령들을 입력할 수 있는 모드 - 이 상태에서 파일을 저장하거나, 입력, 찾기 등 다른 명령을 수행 |
입력모드 |
- i, a, o, I, A, O 를 누른 후 텍스트를 입력할 수 있는 모드 |
콜론 모드 (ex 모드) |
- Esc를 누른 후 :을 입력한 상태 - 예를 들면 종료하고자 하는 경우 다음과 같이 입력 -> :wq! |
입력 모드로 들어가기
i |
insert, 현재 커서의 위치에 글자를 삽입 |
I |
insert, 커서가 있는 줄(line)의 맨 앞에 글자를 삽입 |
a |
append, 현재 커서 위치의 다음 칸에 글자를 추가 |
A |
append, 커서가 있는 줄(line)의 맨 뒤에 글자를 추가 |
o |
open line, 현재의 줄 다음에 새로운 줄을 삽입 |
O |
open line, 현재의 줄 앞에 새로운 줄을 삽입 |
입력 모드로 전환한 후 입력한 것들이 파일 내용이 됨 |
종료하기
콜론 모드에서 수행 |
|
:wq // write and quit |
편집한 데이터를 저장하고 종료 |
:q! // quit |
저장하지 않고 종료 |
:w // write |
현재 작업 중인 내용의 저장 |
찾기
/abc |
현재 위치에서 뒤로 abc 찾기 |
?abc |
현재 위치에서 앞으로 abc 찾기 |
n |
뒤로 단어 찾기 반복 |
N |
앞으로 단어 찾기 반복 |
/ |
뒤로 단어 찾기 반복 |
? |
앞으로 단어 찾기 반복 |
복사하기
yy |
한 줄 전체 복사(yank) |
nyy |
현재 줄 이하로 n개의 줄 복사 |
Y |
한 줄 전체 복사 (yy와 동일) |
yw |
한단어 복사 |
ynw |
n개의 단어 복사 |
y$ |
현재 위치에서 그 줄의 끝까지 복사 |
y0 |
현재 위치에서 그 줄의 처음까지 복사 |
yG |
현재 위치에서 파일의 끝까지 복사 |
y /abc |
현재 위치에서 abc가 나올 때까지 복사 |
지우기
dd |
현재 줄 전체 삭제 |
ndd |
n개의 줄 삭제 |
D |
한 줄 전체 삭제 (dd와 동일) |
dw |
한단어 삭제 |
dnw |
n개의 단어 삭제 |
d$ |
현재 위치에서 줄의 끝까지 삭제 |
d0 |
현재 위치에서 줄의 처음까지 삭제 |
dG |
현재 위치에서 파일의 끝까지 삭제 |
d /abc |
abc 단어가 나올 때가지 삭제 |
붙이기
p |
버퍼에 저장된 내용(복사 혹은 삭제)을 커서의 오른쪽에 붙이기 |
np |
p명령을 n번 반복 |
P |
저장된 내용을 커서 앞으로 붙이기 |
nP |
P명령을 n번 반복 |
되살리기
u |
한번 복구하기(undo) |
nu |
n단계까지의 복구 |
매번 헷갈리는 내용들이 있어 정리해보았다. 사실 찾아보면 사용법은 더욱 풍성하게 많이 있겠지만 그 내용들을 어떻게 다 알고 활용할 수 있을까..? 각 기능들 몇가지만 외워서 잘 섞어 사용하는게 더 효율적이란 생각이 든다. 물론 능력이 된다면 다 외우는것도 좋겠고.