2003년 4월 10일 목요일

vim 설정 파일(.vimrc) 예제

http://www.vim.org/  -> Documentation

:help

Linux에서 쓰는 설정 파일 .vimrc
-----------------------------------------------
set fileencoding=korea

if has("autocmd")
" compile
autocmd FileType c      map #2 :!clear^M:w^M:!gcc % -o %:r.out^M
autocmd FileType java   map #2 :!clear^M:w^M:!javac %^M
autocmd FileType cpp    map #2 :!clear^M:w^M:!g++ % -o %:r.out^M
autocmd FileType python map #2 :!clear^M:w^M:!chmod 700 % ^M:! % ^M
autocmd FileType perl   map #2 :!clear^M:w^M:!chmod 700 % ^M:! % ^M
autocmd FileType scheme map #2 :!clear^M:w^M:!mzscheme %^M
autocmd FileType nml    map #2 :!clear^M:w^M:!nmlc -o %:r.out %^M
" execute
autocmd FileType c      map #3 :!clear^M:! ./%:r.out^M
autocmd FileType java   map #3 :!clear^M:!java %:r^M
autocmd FileType cpp    map #3 :!clear^M:! ./%:r.out^M
autocmd FileType nml    map #3 :!clear^M:! ./%:r.out^M

endif " has ("autocmd")

set notitle
set noicon
set backspace=indent,eol,start " allow backspacing over everything in insert mode
set background=dark
set showmatch
set vb           " visual bell. 벨소리가 나지 않게 해준다.
set nocompatible " Use Vim defaults (much better!)
set ai                   " always set autoindenting on
set cindent
set smartindent
set backup               " keep a backup file
set history=1000         " keep 100 lines of command line history
set ruler                " show the cursor position all the time
syntax on
set ts=8
set shiftwidth=4
set softtabstop=4
set nu          " show line number
set expandtab
set hlsearch
set incsearch
set foldmethod=syntax
autocmd BufRead *.c syn region myFold start="{" end="}" transparent fold
autocmd BufRead *.c syn sync fromstart
set foldmethod=syntax
set t_kb=^H
set t_kD=^[[3~
set <Up>=^[OA
set <Down>=^[OB
set <Right>=^[OC
set <Left>=^[OD
set <PageUp>=^[[5~
set <PageDown>=^[[6~
set <Home>=^[[2~
set <End>=^[[4~

" 다음은 Putty에 최적화된 설정이다.
set t_kb=^H      " backspace를 눌렀을 때 글자를 지워줌.
set t_kD=^[[3~   " delete키를 눌렀을 때 뒷 글자를 지워줌.

" c 파일의 경우 Makefile 이 없으면 gcc를 불러줌
au BufRead,BufNewFile *.c
\ if !filereadable("Makefile") && !filereadable("makefile") |
\ set makeprg=gcc\ %\ -o\ %< |
\ endif

" cpp 파일의 경우 Makefile 이 없으면 g++를 불러줌
au BufRead,BufNewFile *.cpp
\ if !filereadable("Makefile") && !filereadable("makefile") |
\ set makeprg=g++\ %\ -o\ %< |
\ endif

" java 파일의 경우 Makefile 이 없으면 javac를 불러줌
au BufRead,BufNewFile *.java
\ if !filereadable("Makefile") && !filereadable("makefile") |
\ set makeprg=javac\ %  |
\ endif

" 지난번 편집했던 곳으로 Jump
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\   exe "normal g`\"" |
\ endif

" C소스 파일 syntex rule -----------------------------------------------------
let c_gnu=1
let c_space_errors=1
let c_no_trail_space_error=1
"let c_comment_strings=1
let c_ansi_typedefs=1
let c_ansi_constants=1
" .h 파일을 C 헤더로 처리할지 여부.
" let c_syntax_for_h=1

----------------------------------------------------

Windows에서 쓰는 설정 파일 c:\vim\_vimrc
----------------------------------------------------
setlocal spell spelllang=en_us " vim7에 추가된 기능, spell check on
set nocompatible
set backspace=indent,eol,start
set background=dark
hi Normal guifg=white guibg=black " background를 검은 색으로 만든다.
set showmatch
set novb           " visual bell. 벨소리가 나지 않게 해준다.
set nocompatible " Use Vim defaults (much better!)
set cindent
set smartindent
set backup               " keep a backup file
set history=1000         " keep 100 lines of command line history
set ruler                " show the cursor position all the time
syntax on
set ts=8
set shiftwidth=4
set softtabstop=4
set expandtab
set number          " show line number
set hlsearch
set incsearch

source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
function MyDiff()
 let opt = ''
 if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
 if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
 silent execute '!C:\Vim\vim61\diff -a ' . opt . v:fname_in . ' ' . v:fname_new . ' > ' . v:fname_out
endfunction
----------------------------------------------------

댓글 없음:

댓글 쓰기