vi를 자주 쓰지 않으니까 항상 까먹는다.
tips 정리
page up, down
ctrl+f, ctrl+b
선택
v 를 눌러 visual mode 로 선택
복사
yy 후 p로 붙여넣기
잘라내기
dd 후 p로 붙여넣기
찾기
Search STRING forward : / STRING
Search STRING backward: ? STRING.
Repeat search: n
Repeat search in opposite direction: N (SHIFT-n)
바꾸기
First occurrence on current line: :s/OLD/NEW
Globally (all) on current line: :s/OLD/NEW/g
Between two lines #,#: :#,#s/OLD/NEW/g
Every occurrence in file: :%s/OLD/NEW/g
자질구레한 tip K manpage보기 G 파일의 마지막줄로 커서이동 ^6 or :e# 열어봤던 이전파일 열기 zf fold - 한줄로 접기 ex) :23,29zf zo fold - 펴기 ^p or ^n 변수명, 함수명 자동완성 << tab 안으로 밀기 >> tab 밖으로 밀기 { 한 단락 위로 이동 } 한 단락 아래로 이동 [i 함수의 프로토타입보기 한 vi 안에 여러개로 창 나누어(split) 작업하기 :vs <파일명> 세로로 창 나누어 파일열기 :sp <파일명> 가로로 창 나누어 파일열기 :20vs ./ 왼쪽에 파일 탐색기 열기 <탐색기에 대한 도움말 = ?> O 탐색기 파일 열기 ^wn 새로운 창 나누기 ^wo 현재 커서가 있는 창을 전체창으로..(여러개 창으로 나뉘어 있을때) ^ww 시계방향으로 창 사이를 이동 ^w<방향키> 두개의 창 사이를 방향키의 방향으로 이동 ^w+ 창 크게 ^w- 창 작게 z<숫자><enter> 창 높이설정 ^w= 열려있는 창들의 크기를 모두 같게 ^wc or ^w_ 현재창 닫기 :help split 창 나누기에 대한 도움말 열려있는 파일보기 명령) :marks 설명) 원래는 a-z,A-Z,0-9까지의 마크를 각각의 문서에 대해 할수 있는기능 그냥 marks라고 하면 기본적으로 vim이 저장하는 최근 10개 문서(0-9마크)를 보여줌 이동은 `0 또는 `3 명령) :args 설명) 명령행 인자로 여러개의 파일을 열었을 경우, 이들을 보여주고, 문서간 이동시 편리(:N , :n) 명령) :ls 설명) 현재 열려있는 버퍼들을 확인 편집중에 다른 화일들을 여러개 연경우, 이미 열린화일을 찾기 쉽게 함. 이동은 :b1 또는 :b3 등으로. 치환 :/pattern/replace/ 현재 줄의 치환 :lines/pattern/replace/ 지정한 줄의 치환 :line,lines/pattern/replace/ 지정한 범위의 치환 :%s/pattern/replace 모든 줄의 치환 위의 팁들을 이용하여 현재 재연이의 .vimrc에 키매핑한 것들.. map <F1> K 도움말 보기 map <F2> :25vs ./<CR>:set nonu<CR> 탐색기 열기 map <F3> O^Ww<CR> 탐색기 안에서 파일 열기 map <F4> ^6 이전에 열었던 파일 열기 map <F5> v%zf 폴딩 - 함수 접기(함수의 { 위치에서 F5를 눌러야 함) map <F6> zo 폴딩한 것 다시 풀기 map <F7> :marks<CR> 최근에 열었던 파일 보기 map <F8> [i 함수 프로토타입보기 map <F9> :set nonu<CR> 줄번호 없애기 map <F10> :set nu<CR> 줄번호 보기
ref:
http://kltp.kldp.net/stories.php?story=04/11/26/3744653
http://vim.wikia.com/wiki/Best_Vim_Tips
'os > linux' 카테고리의 다른 글
fedora19 systemd (init.d 대체) (0) | 2013.08.16 |
---|---|
fedora 19 desktop setting (0) | 2013.08.02 |
fedora 19 + haswell + vritual box (0) | 2013.08.02 |
shell script 요약 (0) | 2012.10.18 |