본문 바로가기

Programing/Linux

[Linux] vim 7.0 설정 .vimrc

출처 : http://75inside.tistory.com/tag/vi

.vimrc 파일은 /root/.vimrc 로 존재합니다.

==================================================
syntax on
set nu
set cindent
set autoindent
set sw=4
set ts=4
set sts=4
set smartindent

"nnoremap <silent> <F7> :TlistUpdate<CR>
"nnoremap <silent> <F8> :Tlist<CR>
"nnoremap <silent> <F9> :TlistSync<CR>

"<F2> : folding , <F3> : unfolding, <F4> : Tlist
"<F5> : tab new create , <F6> : tab move,   <F7> : tab close
map <F2> v]}zf
map <F3> zo
map <F4> :Tlist<cr><C-W><C-W>
map <F5> :tabnew<CR>
map <F6> :tabn<CR>
map <F7> :tabclose<CR>

"============== buffer Setting ===========
map ,1 :b!1<CR>
map ,2 :b!2<CR>
map ,3 :b!3<CR>
map ,4 :b!4<CR>
map ,5 :b!5<CR>
map ,6 :b!6<CR>
map ,7 :b!7<CR>
map ,8 :b!8<CR>
map ,9 :b!9<CR>
map ,0 :b!n<CR>
" - : close, + : buffer all
map - :bw<CR>
map + :al<CR>
===============================================

위 색갈중 초록색은 Tlist 를 설치해야 사용 가능 한 옵션 입니다..
위 색갈중 빨간색은 Vim 7.0 버전에 새로 생긴 Tab 기능 부분입니다..

많이 사용하시는분들은 설정만 보셔도 바로 아실수 있으나 ..
처음 사용하시는 분들을 위해서 추가 설명을 적어 놓겠습니다..
잘아시는 분들은 pass하시면 됩니다..^^


VIM 7.0에 새로 추가된  Tab 기능은 을 추가로 설명 드리면..

명령 모드에서  :tabnew 파일명 으로 추가 할수 있으며 파일명이 없을시 자동으로 이름없음으로 생성 됩니다
생성된 Tab을 이동할경우

순차적인 이동은 멸령모드에서 :tabn 으로 가능합니다..
그외 앞,뒤 로 이동이 가능한데..  역시 명령모드에서 :tabprev , :tabnext 로 가능합니다.

생성한 텝을 종료할경우 일반적인 q, x 를 이용하는 방법과
명령모드에서 :tabclose 로 종료가 가능합니다..

위에 보시면 아시겠지만.. 위의 경우 key mapping을 해놓은 상태 입니다..
F5 생성, F6 순차 이동, F7 종료 입니다

그리고 주석에도 설명 되어 있지만 F2, F3은  폴딩 / 언폴딩 기능 입니다...

이 폴딩 기능은 Visual Stdio 2005 에서 처럼 함수명 앞에서 + 를 눌러서
함수 불록 내부를 접었다가 펼수 있는 기능인데..

VIM에서도 사용 가능한 기능 입니다..
기존 6.0 버전에서도 이용 가능합니다..

사용 방법은 함수의 시작 { 에 커서를 위치한후
F2로 폴딩 (접기) /  F3 으로 언폴딩 (펴기) 입니다

그외 Buffer Setting 부분은
파일을 여러개 open 하여 작업 할경우 파일 이동을 편하게 하기 위해서..
사용되는 기능 입니다..

예를 들어 a.c, b.c, c.c 3개의 파일을 동시에 열어서 수정작업을 해야 할경우
vi a.c b.c c.c 로 한번에 모두 open 을 하여도 최초에는 가장 먼저 연리는

a.c파일 내용이 봐지기 때문에 b.c 와 c.c는 열려있지만  모를때는 언듯봐서는..
안열려 있는거 처럼 느껴 집니다

버퍼 내용을 확인 하려면 명령 모드에서 :ls 로 가능 하지만
각 파일로 이동하기 위해서는 명령모드에서 b인덱스넘버 (ex) :b1
로 가능 하나 매번 그렇게 사용하기 불편함으로 이것 역시 key mapping을 해서

1,2,3 숫자키를 입력하는거 만으로도이동이 가능합니다..
그리고 - 의 경우 buffer에서 해당 창을 닫기 이며 + 인경우 buffer모든 내용을
수평으로 창분할 하여 열어 주는 기능 입니다..


<추가>
창을 상하로 분할해서 각각의 창을 폈다 줄였다 하면서 여러 파일을 편집하는 방법입니다.
아래의 맵을 .vimrc 맨 마지막줄에 추가합니다.

set wmh=0
map <C-J> <C-W>j<C-W>_
map <C-K> <C-W>k<C-W>_
map <C-H> <C-W>_

그리고 파일을 열때는 ":sp"또는 ":new"를 써서 열면 분활해서 열립니다.
분활된 창에서 윗 창으로 이동하면 C-k를, 아래 창으로 이동하려면 C-j를 누르시면 되고,
이렇게 설정하시면 각각의 창은 최대 크기로 크게 해서 편집할 수 있습니다.