読者です 読者をやめる 読者になる 読者になる

.vimrc

vim

.vimrc貼り付け。勉強中だが、各環境で使用するときコピペできるように…

.vimrcとか.screenrcとかひとつのサーバーで一元管理しておいて、
各クライアントの起動時はそのサーバーに問い合わせて設定を読み込むようにできるとうれしいなぁ。
あ、/usr/bin/vimとか起動する前に、ftp自動的にとってこさせて$HOME/.vimrcに置けばいいのか。
と思ったところでそのスクリプトを各環境に置くのが面倒な気がしてきた…

" 日本語表示のため
set encoding=japan
" set encoding=sjis
set fileencodings=iso-2022-jp,euc-jp,utf-8,latin1,cp932

" もうtabはやめ!
set expandtab

" C のインデントを行う
set cindent

" defaultでスペース8だった…
" set shiftwidth=8

" 検索グルグルはしない!
set nowrapscan

" ルーラーとやらを
set ruler

" ターミナルの指定
set background=dark

" ファイルタイプを識別
filetype on

" ステータスライン
set laststatus=2
set statusline=%n:\ %<%f\ %m%r%h%w[%{&fileformat}][%{has('multi_byte')&&\ &fileencoding!=''?&fileencoding:&encoding}]\ 0x%B=%b%=%l,%c\ %P

" ハイライト表示
colorscheme chocolateliquor
syntax on
set hlsearch

function! Navi()
  if &ft ==? "c" || &ft ==? "cpp"
    vimgrep /^[^ \t#/\\*]\+[0-9A-Za-z_ \t\\*]\+([^;]*$/j %
  elseif &ft ==? "lisp"
    " defun のみ検索
    vimgrep /^[ \t]*(defun[ \t]\+.*$/j %
    " Emacs Lisp (defvar なども検索)
    vimgrep /^[ \t]*(defun[ \t]\+.*$/j %
  elseif &ft ==? "perl"
    vimgrep /^[ \t]*sub[ \t]\+.*$/j %
  elseif &ft ==? "ruby"
    vimgrep /^[ \t]*\(class\|module\|def\|alias\)[ \t]\+.*$/j %
  elseif &ft ==? "html"
    vimgrep /\c^\([ \t]*<h[123456].*\|[ \t]*<head.*\|[ \t]*<body.*\|[ \t]*<form.*\)$/j %
  elseif &ft ==? ""
    "Text (「1.」型の箇条書き)
    vimgrep /^[ \t]*[1234567890]\+[\.]\+.*$/j %
  elseif &ft ==? "tex"
    vimgrep /^\(\\chapter.*\|\\section.*\|\\subsection.*\|\\subsubsection.*\)$/j %
  elseif &ft ==? "pascal"
    vimgrep /\c^procedure.*$/j %
  elseif &ft ==? "java"
    vimgrep /^[ \t]*[^#/\*=]\+[0-9a-zA-Z_ \t\*,.()]\+{[^;]*$/j %
  elseif &ft ==? "vb"
    vimgrep /\c^\(private\|public\|sub\|function\)[ \t]\+.*$/j %
  elseif &ft ==? "diff"
    " diff (まだ実験段階)
    vimgrep /^[0-9*]\+.*$/j %
  else
    echo "This filetype is not supported."
  endif
  cw
endfunction