現在の~/.vimrc
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " ここから自分で追加したもの """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "set autoindent "新しい行のインデントを現在行と同じにする set wildmode=list:longest "vimのコマンドを補完 set nu "行番号表示 set showcmd "コマンドを表示 set hlsearch "検索文字をハイライト "タブ可視化 set list set listchars=tab:>> "------------------------------------------------------------------------------------" " 各種プログラムで構文チェク(:make)をCtr+c Ctr+cで行えるようにする " 表示されたQuickFixはウィンドウを移動しなくても " :cn および :cp で移動可能 "------------------------------------------------------------------------------------" " Perl構文チェック autocmd FileType perl compiler perl autocmd FileType perl map <c-c><c-c> :make<cr> :cw<cr><cr> " PHP構文チェック au BufRead,BufNewFile *.php set makeprg=php\ -l\ % au BufRead,BufNewFile *.php set errorformat=%m\ in\ %f\ on\ line\ %l autocmd FileType php map <c-c><c-c> :make<cr> :cw<cr><cr> " Ruby構文チェック au BufRead,BufNewFile *.rb set makeprg=ruby\ -c\ % au BufRead,BufNewFile *.rb set errorformat=%m\ in\ %f\ on\ line\ %l autocmd FileType rb map <c-c><c-c> :make<cr> :cw<cr><cr> " HTML構文チェック autocmd FileType xhtml,html :compiler tidy autocmd FileType xhtml,html :setlocal makeprg=tidy\ -raw\ -quiet\ -errors\ --gnu-emacs\ yes\ \"%\" autocmd FileType xhtml,html map <c-c><c-c> :make<cr> :cw<cr><cr> "------------------------------------------------------------------------------------" "foldmethod(折りたたみの設定) "------------------------------------------------------------------------------------" set foldmethod=indent set foldlevel=100 "Don't autofold anything "------------------------------------------------------------------------------------" " シンタックスハイライト "------------------------------------------------------------------------------------" syntax on if has("gui_running") "colorscheme pyte "colorscheme newspaper colorscheme wombat else "colorscheme xoria256 colorscheme twilight256 endif "php用 let php_sql_query=1 let php_htmlInStrings=1 "------------------------------------------------------------------------------------" " 親をたどってtagsを探す "------------------------------------------------------------------------------------" set tags=tags; "------------------------------------------------------------------------------------" " omni補完 "------------------------------------------------------------------------------------" autocmd FileType php set omnifunc=phpcomplete#CompletePHP autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS autocmd FileType html set omnifunc=htmlcomplete#CompleteTags autocmd FileType xhtml set omnifunc=htmlcomplete#CompleteTags autocmd FileType css set omnifunc=csscomplete#CompleteCSS "------------------------------------------------------------------------------------" " キーバインド "------------------------------------------------------------------------------------" " omni補完 キーバインド変更 imap <C-f> <C-x><C-o> " ヤンクで検索 map qqq@ /<C-r>"<CR> " コマンド履歴 map qqq: q: " 検索履歴 map qqq/ q/ if has("gui_running") map <C-k> :tabprevious<CR> map <C-j> :tabnext<CR> endif "------------------------------------------------------------------------------------" " 自作コマンド "------------------------------------------------------------------------------------" command Setphp set filetype=php command Setjavascript set filetype=javascript command Sethtml set filetype=html " y や dした後にfcなどすればよい " copy to clipboard if has("unix") && match(system("uname"),'Darwin') != -1 " mac " http://www.mail-archive.com/vim-latex-devel@lists.sourceforge.net/msg00773.html nnoremap fc :call system("pbcopy", @")<CR> nnoremap fp :r! pbpaste<CR> elseif has('win32unix') " cygwin nnoremap fc :call system("putclip", @")<CR> nnoremap fp :r! getclip<CR> endif "------------------------------------------------------------------------------------" " タブ幅の設定 "------------------------------------------------------------------------------------" " expandtabはタブをスペースに変える "set expandtab set tabstop=2 set softtabstop=2 set shiftwidth=2 "------------------------------------------------------------------------------------" "ステータスライン "------------------------------------------------------------------------------------" set laststatus=2 "ステータスラインを常に表示 function! GetB() let c = matchstr(getline('.'), '.', col('.') - 1) let c = iconv(c, &enc, &fenc) return String2Hex(c) endfunction " :help eval-examples " The function Nr2Hex() returns the Hex string of a number. func! Nr2Hex(nr) let n = a:nr let r = "" while n let r = '0123456789ABCDEF'[n % 16] . r let n = n / 16 endwhile return r endfunc " The function String2Hex() converts each character in a string to a two " character Hex string. func! String2Hex(str) let out = '' let ix = 0 while ix < strlen(a:str) let out = out . Nr2Hex(char2nr(a:str[ix])) let ix = ix + 1 endwhile return out endfunc "ステータスラインに文字コードと改行文字を表示する " set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']['.&ft.']'}\ %F%=%l,%c%V%8P if winwidth(0) >= 120 set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%y\ %F%=[%{GetB()}]\ %l,%c%V%8P else set statusline=%<[%n]%m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).':'.&ff.']'}%y\ %f%=[%{GetB()}]\ %l,%c%V%8P endif "set statusline=%{GetB()} "------------------------------------------------------------------------------------" " netrw "------------------------------------------------------------------------------------" " netrwは常にtree view let g:netrw_liststyle = 3 " CVSと.で始まるファイルは表示しない let g:netrw_list_hide = 'CVS,\(^\|\s\s\)\zs\.\S\+' " 'v'でファイルを開くときは右側に開く。(デフォルトが左側なので入れ替え) let g:netrw_altv = 1 " 'o'でファイルを開くときは下側に開く。(デフォルトが上側なので入れ替え) let g:netrw_alto = 1 "------------------------------------------------------------------------------------" "初期メッセージ "------------------------------------------------------------------------------------" if has("gui_running") set shortmess+=I endif "------------------------------------------------------------------------------------" " end "------------------------------------------------------------------------------------"