vi tips

os/linux 2012. 10. 17. 22:17

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
Posted by 뚜벅이조
,