.vimrcの設定
20061015 一部修正
20061106 色つけ
20061215 スーパーpre記法 シンタックス・ハイライト
" 日本語の設定 set encoding=utf-8 "set fenc=utf-8 "set fencs=ucs-bom,utf-8,iso-2022-jp,euc-jp,cp932 set fencs=ucs-bom,utf-8,iso-2022-jp,euc-jp,cp932 " 非互換モード set nocompatible " カラーテーマを変更 colorscheme mycolor " シンタックスカラー表示を有効にする syntax on " 行番号を表示する set number " 入力したコマンドをステータスラインに表示 set showcmd " 位置情報を表示 set ruler " ステータスラインを表示 set laststatus=2 set statusline=%<%f\ %m%r%h%w%{'['.&fenc.']['.&ff.']'}%=%l,%c%V%8P " ファイルタイプごとのプラグインを有効にする filetype plugin on filetype indent on " 自動インデント set smartindent " 対応する括弧を強調表示 set showmatch " 長い行を折り返さない set nowrap " バックスペースの挙動 set backspace=indent,eol,start " タブが対応する空白の数 set tabstop=4 set shiftwidth=4 set softtabstop=0 " タブではなく適切な数の空白を使う set expandtab " インクリメンタルサーチ set incsearch " 前回開いた編集個所を表示する au BufWritePost * mkview autocmd BufReadPost * loadview " 上下から、指定した行数に達したら自動スクロール set scrolloff=5 " 強化されたコマンドライン補完を使用 set wildmenu " バッファを保存しないで他のファイルを開けるようにする set hidden " コマンドモードで Emacs キーバインド cmap <C-A> <Home> cmap <C-F> <Right> cmap <C-B> <Left> cmap <C-D> <Delete> cmap <Esc>b <S-Left> cmap <Esc>f <S-Right> " rubycomplete.vim autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete autocmd FileType ruby,eruby let g:rubycomplete_buffer_loading = 1 "autocmd FileType ruby,eruby let g:rubycomplete_rails = 1 autocmd FileType ruby,eruby let g:rubycomplete_classes_in_global = 1 " タブで、補完 imap <TAB> <C-X><C-O> " ペースト時にオートインデントを無効に "set paste autocmd BufNewFile *.h call IncludeGuard() function! IncludeGuard() let gatename = substitute(toupper(expand("%:t")), "\\.", "_", "g") normal! gg execute "normal! i#ifndef " . gatename . "_INCLUDED" execute "normal! o#define " . gatename . "_INCLUDED\<CR>\<CR>\<CR>\<CR>\<CR>" execute "normal! Go#endif /* " . gatename . "_INCLUDED */" 4 endfunction " vim -b : edit binary using xxd-format! augroup Binary au! au BufReadPre *.bin let &bin=1 au BufReadPost *.bin if &bin | silent %!xxd -g 1 au BufReadPost *.bin set ft=xxd | endif au BufWritePre *.bin if &bin | %!xxd -r au BufWritePre *.bin endif au BufWritePost *.bin if &bin | silent %!xxd -g 1 au BufWritePost *.bin set nomod | endif augroup END " #!で始まるファイルを保存時に実行権限を付与する autocmd BufWritePost * :call AddExecmod() function AddExecmod() let line = getline(1) if strpart(line, 0, 2) == "#!" call system("chmod +x ". expand("%")) endif endfunction