最終更新:2009-11-06 (金) 09:26:57 (5302d)
.vimrc
Top / .vimrc
syntax on set expandtab set tabstop=4 set shiftwidth=4 set softtabstop=0 set number set smartindent set incsearch autocmd FileType mate setlocal noexpandtab
OSX用
"------------------------------------------------------------------------------- set nocompatible " vimですよ "------------------------------------------------------------------------------- " ステータスライン set laststatus=2 " 常にステータスラインを表示 set statusline=%<%F\ %r%h%w%y%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%4v(ASCII=%03.3b,HEX=%02.2B)\ %l/%L(%P)%m "------------------------------------------------------------------------------- " 基本設定 let mapleader = "," " キーマップリーダー set scrolloff=5 " スクロール時の余白確保 set textwidth=0 " 一行に長い文章を書いていても自動折り返しをしない set nobackup " バックアップ取らない set autoread " 他で書き換えられたら自動で読み直す set noswapfile " スワップファイル作らない set hidden " 編集中でも他のファイルを開けるようにする set backspace=indent,eol,start " バックスペースでなんでも消せるように set formatoptions=lmoq " テキスト整形オプション,マルチバイト系を追加 set vb t_vb= " ビープをならさない set browsedir=buffer " Exploreの初期ディレクトリ set whichwrap=b,s,h,l,<,>,[,] " カーソルを行頭、行末で止まらないようにする set showcmd " コマンドをステータス行に表示 filetype indent off " ファイルタイプによるインデント filetype plugin off " ファイルタイプごとのプラグイン "------------------------------------------------------------------------------- " 表示 set showmatch " 括弧の対応をハイライト set showcmd " 入力中のコマンドを表示 set number " 行番号表示 set list " 不可視文字表示 set listchars=tab:>.,trail:_,extends:>,precedes:<" 不可視文字の表示形式 set display=uhex " 印字不可能文字を16進数で表示 " 全角スペースをハイライト if has("syntax") syntax on function! ActivateInvisibleIndicator() syntax match InvisibleJISX0208Space " " display containedin=ALL highlight InvisibleJISX0208Space term=underline ctermbg=Cyan guibg=Cyan " syntax match InvisibleTrailedSpace "[ \t]\+$" display containedin=ALL " highlight InvisibleTrailedSpace term=underline ctermbg=Red guibg=Red " syntax match InvisibleTab "\t" display containedin=ALL " highlight InvisibleTab term=underline ctermbg=Cyan guibg=Cyan endf augroup invisible autocmd! invisible autocmd BufNew,BufRead * call ActivateInvisibleIndicator() augroup END endif " カレントウィンドウにのみ罫線を引く augroup cch autocmd! cch autocmd WinLeave * set nocursorline autocmd WinEnter,BufRead * set cursorline augroup END "------------------------------------------------------------------------------- " インデント set autoindent set smartindent set cindent " softtabstopはTabキー押し下げ時の挿入される空白の量,0の場合はtabstopと同じ,BSにも影響する set tabstop=4 shiftwidth=4 softtabstop=0 set noexpandtab " タブをスペースに展開しない "------------------------------------------------------------------------------- " 補完・履歴 set wildmenu " コマンド補完を強化 set wildchar=<tab> " コマンド補完を開始するキー set wildmode=list:full " リスト表示,最長マッチ set history=1000 " コマンド・検索パターンの履歴数 set complete+=k " 補完に辞書ファイル追加 "------------------------------------------------------------------------------- " 検索設定 set wrapscan " 最後まで検索したら先頭へ戻る set ignorecase " 大文字小文字無視 set smartcase " 大文字ではじめたら大文字小文字無視しない set incsearch " インクリメンタルサーチ set hlsearch " 検索文字をハイライト "選択した文字列を検索 vnoremap <silent> // y/<C-R>=escape(@", '\\/.*$^~[]')<CR><CR> "選択した文字列を置換 vnoremap /r "xy:%s/<C-R>=escape(@x, '\\/.*$^~[]')<CR>//gc<Left><Left><Left> "------------------------------------------------------------------------------- " エンコーディング関連 " 改行文字 set ffs=unix,dos,mac " デフォルトエンコーディング set encoding=utf-8 if has('win32') && has('kaoriya') set ambiwidth=auto else set ambiwidth=double endif if has('iconv') let s:enc_euc = 'euc-jp' let s:enc_jis = 'iso-2022-jp' if iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb" let s:enc_euc = 'euc-jisx0213,euc-jp' let s:enc_jis = 'iso-2022-jp-3' endif set fileencodings& let &fileencodings = &fileencodings.','.s:enc_jis.',cp932,'.s:enc_euc unlet s:enc_euc unlet s:enc_jis endif if has('win32unix') set termencoding=cp932 elseif !has('macunix') set termencoding=euc-jp endif "------------------------------------------------------------------------------- " キーバインド関係 " 行単位で移動(1行が長い場合に便利) nnoremap j gj nnoremap k gk " バッファ周り nmap <silent> <C-l> :bnext<CR> nmap <silent> <C-h> :bprevious<CR> nmap <silent> ,l :BufExplorer<CR> " 検索などで飛んだらそこを真ん中に nmap n nzz nmap N Nzz nmap * *zz nmap # #zz nmap g* g*zz nmap g# g#zz nmap G Gzz "usキーボードで使いやすく nmap ; : "------------------------------------------------------------------------------- " プラグインごとの設定 " migemo.vim if has('migemo') set migemo set migemodict=/opt/local/share/migemo/utf-8/migemo-dict endif " YankRing.vim nmap ,y :YRShow<CR> " qfixhowm.vim set runtimepath+=~/.vim/plugin/qfixapp let QFixHowm_Key = ',' let howm_dir = '~/Documents/howm-vim/' let howm_filename = '%Y/%m/%Y-%m-%d-%H%M%S.howm' let howm_keywordfile = '~/Documents/howm-vim/.howm-keys' let howm_fileencoding = 'utf-8' let howm_fileformat = 'unix' let mygrepprg = 'grep' let MyGrep_ShellEncoding = 'utf-8' let QFixHowm_RecentDays = 10 let QFixHowm_SaveTime = 2 let QFixHowm_RecentMode = 2 let QFixHowm_Replace_Title_Pattern = '^=\s*\(\[[:a-zA-Z0-9 ]*\]\s*\)\=$' let QFixHowm_Replace_Title_Len = 64 let QFixHowm_MruFile = '~/Documents/howm-vim/.howm-mru' let QFixHowm_MruFileMax = 20 let QFixHowm_ShowTodoOnMenu = 1 let QFixHowm_ShowSchedule = 10 let QFixHowm_ShowScheduleTodo = 10 let QFix_CloseOnJump = 1 let QFix_Height = 25 let QFix_SearchPathEnable = 1 let QFix_SearchPath = '~/Documents/howm-vim/' "if has('mac') " let MyOpenURI_cmd = "call system('/usr/bin/browser %s &')" "endif " vcscommand.vim set runtimepath+=~/.vim/plugin/vcscommand "------------------------------------------------------------------------------- " ユーティリティ " 現在開いているファイルのある場所に常にcdする au BufEnter * exec ":lcd " . expand("%:p:h")