[linux] vi 유용하게 사용하는 단축키
✔ vi
취소
u ☞ undo 되돌리기
ctrl + r ☞ redo 되돌린거 다시 원복
추가
a ☞ append 덧붙이기 커서 다음에 들어감
o ☞ 커서 다음행에 입력
O ☞ 커서 위에 추가
이동
h ☞ 현재 커서 왼쪽이동
j ☞ 현재 커서 아래쪽 이동
k ☞ 현재 커서 위로 이동
l ☞ 현재 커서 오른쪽으로 이동
ctrl+f
☞ forward : 한페이지 앞으로(밑으로)
ctrl+b
☞ backward : 한페이지 뒤로 (위로)
ctrl+u
☞ 반페이지 올리기
[숫자] + G
☞ 해당 라인으로 이동
☞ 1 + G : 첫번째 라인으로 이동
:[숫자]
☞ 해당 라인으로 이동
b ☞ 한 단어씩 앞으로 이동
w ☞ 한 단어씩 뒤로 이동
복사
yy ☞ 한 라인 복사
* 추가적으로 덧붙이자면 이렇게 복사한 내용은 buffer에 복사해 놓는 형태 입니다.
이에 복사를 해놓고 해당 내용을 그냥 붙여넣기를 하게 되면 넣어집니다.
이 buffer에 넣는것은 복사 뿐이 아니고 dd 를 해서 라인 하나를 지웠던것도 p하게 되면 붙여넣어집니다.
붙여넣기
p ☞ put 붙여넣기
예) 3yy-> p 세 라인을 복사해서 붙여넣기
삭제
dd ☞ 한 라인 삭제
* buffer에 들어가니 p하면 한 라인 잘라내서 이동하는 형태랑 동일합니다.
:cc
☞ 커서 있는 하나의 라인 사라지게 처리
검색
:/ ☞ 현재커서에서부터 아래로 검색
n ☞ 현재커서에서부터 아래로 검색중 다음 검색사항
N ☞ 현재커서에서부터 아래로 검색중 이전 검색사항
:? ☞ 아래에서부터 위로 검색
n ☞ 현재커서에서부터 위로 검색중 다음 검색사항
N ☞ 현재커서에서부터 위로 검색중 이전 검색사항
replace
:[시작라인],[끝라인]s/[수정전글자]/[수정후글자]
시작라인, 끝라인까지
s : 수정하겠다.
수정전글자에서 수정후글자로
예) 1,20s/표준/표준글자
예) 10,20s/^/# -> 10번째 라인에서 20라인까지 시작하는 위치에 #을 입력하여 주석처리하겠다.
예) 10,20s/^/#/ -> 10번째 라인에서 20라인까지 시작하는 위치의 #을 제거하겠다.