vi 에도 이동, 삭제, 수정 등의 키가 여러종류로 나눠져 있숩니다.
vi 편집기 명령
vi 편집기에서는 커서이동모드와 텍스트 모드 명령모드가 있습니다.
- 입력키의 종류 (커서 이동모드 에서 텍스트 모드로 전환할때 사용)
a - 커서 위치의 다음 칸부터 입력하기
A - 커서가 있는 줄의 끝부터 입력하기
i - 커서 위치부터 입력하기 (키보드의 insert도 같은 기능)
I - 커서가 있는 줄의 맨 앞에서부터 입력하기
o - 커서 바로 아래에 줄을 만들고 입력하기 (open line)
O - 커서 바로 위에 줄을 만들고 입력하기
s - 커서가 있는 단어를 지우고 입력하기
S - 커서가 있는 행을 지우고 입력하기
○ 커서이동 모드에서는
- 글자단위이동
h - 한 칸 왼쪽으로 이동하기
l - 한 칸 오른쪽으로 이동하기
j - 한 줄 아래로 이동하기
k - 한 줄 위로 이동하기 - 단어단위이동
w - 다음 단어의 첫 글자로 이동
W - 다음 단어의 첫 글자로 이동하기
b - 이전 단어의 첫 글자로 이동
B - 이전 단어의 첫 글자로 이동하기
e - 단어의 마지막 글자로 이동
E - 단어의 마지막 글자로 이동하기
(이동과 이동하기의 차이점은 해보면 약간있는데 별차이 없는듯) - 줄단위이동
^ - 그 줄의 첫 글자로 이동, shift와 함께 사용
$ - 그 줄의 마지막 글자로 이동하기, shift와 함께 사용
0 - 그 줄의 처음으로 이동
enter - 다음 줄의 첫 글자로 이동하기
+ - 다음 줄의 첫 글자로 이동
- - 윗줄의 첫 글자로 이동하기 - 삭제 키의 종류
x - dl 커서 위치의 글자 삭제
X - dh 커서 바로 앞의 글자 삭제
dw - 한 단어를 삭제
d0 - 커서 위치부터 줄의 처음까지 삭제
D - d$ 커서 위치부터 줄의 끝까지 삭제
dd - 커서가 있는 줄을 삭제
dj - 커서가 있는 줄과 그 다음 줄을 삭제
dk - 커서가 있는 줄과 그 앞줄을 삭제 - 수정 키의 종류
r - 커서 위치의 한 글자 수정하기
R - 커서 위치부터 esc를 누를 때까지 다른 글자로 수정하기. 단, 같은 줄에만 해당
s - 커서 위치의 한 글자를 여러 글자로 수정하기
ch - 커서 바로 앞의 한 글자를 여러 글자로 수정하기
cw - 커서 위치의 한 단어를 수정하기
c0 - 커서 위치부터 줄의 처음까지 수정하기
C - 커서 위치부터 줄의 끝까지 수정하기
cc - 커서가 있는 줄을 수정하기
cj - 커서가 있는 줄과 그 다음 줄을 수정하기
ck - 커서가 있는 줄과 그 앞줄을 수정하기 - 복사와 붙여넣기
yw - 커서 위치부터 단어의 끝까지 복사하기
y0 - 커서 위치부터 줄의 처음까지 복사하기
y$ - 커서 위치부터 줄의 끝까지 복사하기
yy - 커서가 있는 줄을 복사하기
yj - 커서가 있는 줄과 그 다음 줄을 복사하기
yk - 커서가 있는 줄과 그 앞줄을 복사하기
p - 커서의 다음 위치에 붙여넣기
P - 커서가 있는 위치에 붙여넣기 - 작업취소명령
u - 작업 취소하기(undo)
U - 그 줄에 행해진 작업 모두 취소하기
. - 조금 전에 했던 명령을 반복하기
○ 저장 및 종료키의 종류 ( 커서이동모드에서 명령모드로)
:q - 아무런 변경을 하지 않았을 때 종료하기
:q! - 변경된 내용을 저장하지 않고 강제 종료하기
:wq - 저장하고 종료하기(write and quit)
:x - wq와 같은 기능행번호 보기
:set number - 행번호 보기( = :se nu)
:set nonumber - 행번호 보기 해제( = :se nonu)[출처] 리눅스 vi 편집기에서 복사와 붙여넣기 종류|작성자 뒤치기