vi tutorial : 김기남 책임님
여러 단축키들
단축키를 다 외워도 좋지만, 이러한 단축키가 있다는 것을 기억하고 나중에 기억 안 나면 구글링 하기
이동 관련
- w : 다음 단어로 (앞글자로)
- e : 다음 단어로 (끝글자로)
- 0 : 문장의 가장 처음으로
- $ : 문장의 가장 마지막으로
- ctrl+f : 다음 페이지로
- ctrl+b : 이전 페이지로
- H, M, L : 커서를 페이지의 가장 위, 중간, 가장 아래로 이동
- gg, [[ : 파일의 제일 처음으로
- G, ]] : 파일의 제일 마지막으로
- :num : num라인으로 이동 (:0, :1000 등)
입력, 수정 관련
- cc, C : 커서가 있는 행을 지우고 에디터 모드로
- cw : 커서가 있는 단어를 지우고 에디터 모드로
- r : 현재 커서의 글자를 바꾸고 커맨드 모드로
- R : insert처럼 현재 커서의 글자를 바꿀 수 있음
- dd : 한 줄 지우고 커맨드 모드
- dw : 한 단어 지우고 커맨드 모드
- x : 한 글자 지우고 커맨드 모드
- D : 현재 커서 뒤에 있는 줄 지우고 커맨드 모드
- u : Undo
- ctrl+r : Redo
combination
- dG : 현재 위치부터 파일 끝까지 지워라
- 4dw : 4단어 지우기
- 5x : 5글자 지우기
- 4dd : 4줄 지우기
- . : 내가 가장 마지막에 했던 명령어 반복
search
- /string : 아래로 단어 찾기 (/can 등)
- ?string : 위로 단어 찾기
- n : 다음 단어
- N : 전 단어
- :noh : 하이라이팅 지우기
ex 모드
- :wq - save and quit
- :w <
filename
> - save to the file - :q! - force quit (without saving)
reload
- :edit, :e,
:e!
, :edit! : 새로 파일을 읽어들임
replace
- :%s/string/replace
- :%s/string/replace/
[option]
- c : interactive 모드
- i : 대소문자 구분없이
- :10,25s/string/replace - 10행부터 25행까지만 치환
- :.,$s/string/replace - 현재 행부터 마지막 행까지 치환
Shell
- :sh - terminal로 나갔다옴 (다시 돌아오려면 exit)
- :!cmd (ex. :!ls) - 동작이 바로 실행되고 아무키나 누르면 다시 돌아옴
- :r !cmd (ex. :r !cat test.txt) - 해당 결과를 붙여넣음
copy & paste
- yy : copy a line
- p : paste a line
visual block
- v : mark the start position of buffer (블럭 지정할 수 있게 커서가 바뀜. 요즘에는 그냥 마우스로도 잡을 수 있다.)
- d : deletion
- y : copy
- p : paste
- v 누르고 영역 지정 한 다음에 {d,y,p}
customization
- :set ai - autoindent
- :set paste - autoindent 상태에서 paste 할때
- :set nu - 라인 숫자 보기
- :set no{} - 옵션 해지 (:set nonu, :set noai)
- :set - 현재 설정 보기
- :syntax on
- :set showmatch - matching braces