.vimrc晒し
.vimrcを晒してみる。
2008年08月17日18:10現在
"Use vim "vim 使いますよって宣言 set nocompatible "backgroundは明るいと教えてあげる " light or black set background=light "配色の指定 "colorscheme desert set title " number(行数)を表示 set number " 強調表示(色)on or off syntax on "一行に長い文章を書いていても "自動折り返しをしない set textwidth=0 "backupファイルを作らない "set nobackup "やっぱり作る "以下の設定で.vim-backupに*~や*.swpファイルができる " $ mkdir $HOME/.vim-backup とやる必要があり "set backup "set backupdir=$HOME/.vim-backup "let &directory = &backupdir "やっぱいらない "コマンド、検索パターンの履歴数 set history=1000 "加減算コマンドCtrl+a,Ctrl+x "alpha アルファベット "octal 8進数 "hex 16進数 set nrformats+=alpha set nrformats+=octal set nrformats+=hex "カーソルが何行目の何列目に置かれているか表示する "でも、statuslineで指定しているので意味ないのかと "set ruler "poweful backspace "backspaceの挙動を強化する "indentはオートインデントの空白文字を削除できる "eolは行の先頭で<BS>を押すと前の行の改行文字を削除できる "startはC+uやC+wで入力した文字以外(最初から行にある文字)も削除できる set backspace=indent,eol,start "%での移動に<>も追加 "下の3つはdefaultで移動可能 "{} "[] "() set matchpairs+=<:> "自動でindentしてくれる "autoindentとcindentがあるが "個人的にはsmartindentが一番賢いと思ってる set smartindent " タブの代わりに空白を set expandtab " 自動インデントのスペース数 set shiftwidth=2 " タブを入力したのときのスペース数 set tabstop=2 " タブを削除するときに set softtabstop=2 " 現在のmodeを表示 " ビジュアル? " 挿入? " コマンド? set showmode " 対応する括弧に一時的に移動する " たとえば(と入力してから)を入力すると " (に一時的にカーソルが移動する " )に戻ってくるまでの時間は " オプションmatchtimeで指定可能 set showmatch " (値/10)秒 set matchtime=5 " コマンドを表示する set showcmd set wildmenu " 検索文字列が小文字の場合は大文字小文字を区別なく検索する set ignorecase " 検索文字列に大文字が含まれている場合は区別して検索する set smartcase " 検索が末尾まで行ったら先頭へ戻る "set wrapscan " インクリメンタルサーチ set incsearch " 検索結果をハイライト set hlsearch "ハイライト残ってると気が散るのでさようなら nmap <C-j><C-j> :nohlsearch<CR><Esc> "表示行単位で移動してくれる "1行が長い場合に便利だったりする nnoremap j gj nnoremap k gk " ステータスラインを表示 " 2に設定するといつでも表示 set laststatus=2 " 表示する内容の編集 set statusline=\ [%n] "number of buffer set statusline+=\ %F "file name set statusline+=\ %7(%m\ %r%) "読み込み専用ファイルはRO,変更されたら+とか set statusline+=%{&fileencoding}\ %{&fileformat}\ %{&filetype} set statusline+=%=\ (%l,%c) "行、列表示 set statusline+=%=\ \ \ [%b,0x%B] "ascii文字コード表示 " 前回終了したカーソル行に移動 " 最近のvimでは設定しなくてもdefaultらしいけど一応 autocmd BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g`\"" | endif "Shiftを使った画面移動 nmap <S-h> <C-W>h nmap <S-j> <C-W>j nmap <S-k> <C-W>k nmap <S-l> <C-W>l autocmd BufNewFile *.pl 0r ~/.vim/skelton/sk.pl autocmd BufNewFile *.sh 0r ~/.vim/skelton/sk.sh autocmd BufNewFile *.c 0r ~/.vim/skelton/sk.c "usキーボード nmap ; : "shellへの移動を簡単に nmap ,, <C-z> "escは打ちにくいので imap <C-j> <esc> "bufferが編集中でも他のファイルが開ける set hidden "外部のeditorで変更されたら自動でfileを読み直す set autoread "全角スペースを目立たせる "全角スペースは以下の設定だと赤い下線 highlight ZenkakuSpace cterm=underline ctermfg=red guibg=white match ZenkakuSpace / / "plugin miniBufの設定 "Spaceでbuffer移動 ":bnコマンドはpluginのminibufexpl.vimのやつ "pluginは~/.vim/pluginに入ってる nmap <Space> :bn<CR> " minibufexpl.vimの変数 " よく分かってません " でも、こう書けって言われた let g:miniBufExplMapWindowNavVim = 1 let g:miniBufExplSplitBelow = 0 let g:miniBufExplMapWindowNavArrows = 1 let g:miniBufExplMapCTabSwitchBufs = 1 let g:miniBufExplModSelTarget = 1 let g:miniBufExplSplitToEdge = 1 "file exploreを開いてくれるけど "あんまり使ってない "map <C-W><C-V> :Vexplore!<CR> "map <C-W><C-H> :Hexplore<CR> "map! <C-W><C-V> <Esc>:Vexplore!<CR> "map! <C-W><C-H> <Esc>:Hexplore<CR> "plugin YankRing.vimの利用のため "前は使ってたけど、今はない "nmap ,y :YRShow<CR> "plugin Autocompletionの利用のため "補完候補completeの設定 "以下は補間の優先順位の設定 "~/.vim/dictに自分で作った辞書ファイルとかも置ける "let g:AutoComplPop_CompleteOption='.,w,b,u,t,i,k~/.vim/dict/c.dict' "補間バーの色設定 "highlight Pmenu ctermbg=4 "highlight PmenuSel ctermbg=1 "highlight PMenuSbar ctermbg=4 "以下全部、引用。 "まったく理解してない。 "ずんwikiより " 文字コードの自動認識 if &encoding !=# 'utf-8' set encoding=japan set fileencoding=japan endif if has('iconv') let s:enc_euc = 'euc-jp' let s:enc_jis = 'iso-2022-jp' " iconvがeucJP-msに対応しているかをチェック if iconv("\x87\x64\x87\x6a", 'cp932', 'eucjp-ms') ==# "\xad\xc5\xad\xcb" let s:enc_euc = 'eucjp-ms' let s:enc_jis = 'iso-2022-jp-3' " iconvがJISX0213に対応しているかをチェック elseif iconv("\x87\x64\x87\x6a", 'cp932', 'euc-jisx0213') ==# "\xad\xc5\xad\xcb" let s:enc_euc = 'euc-jisx0213' let s:enc_jis = 'iso-2022-jp-3' endif " fileencodingsを構築 if &encoding ==# 'utf-8' let s:fileencodings_default = &fileencodings let &fileencodings = s:enc_jis .','. s:enc_euc .',cp932' let &fileencodings = &fileencodings .','. s:fileencodings_default unlet s:fileencodings_default else let &fileencodings = &fileencodings .','. s:enc_jis set fileencodings+=utf-8,ucs-2le,ucs-2 if &encoding =~# '^\(euc-jp\|euc-jisx0213\|eucjp-ms\)$' set fileencodings+=cp932 set fileencodings-=euc-jp set fileencodings-=euc-jisx0213 set fileencodings-=eucjp-ms let &encoding = s:enc_euc let &fileencoding = s:enc_euc else let &fileencodings = &fileencodings .','. s:enc_euc endif endif " 定数を処分 unlet s:enc_euc unlet s:enc_jis endif " 日本語を含まない場合は fileencoding に encoding を使うようにする if has('autocmd') function! AU_ReCheck_FENC() if &fileencoding =~# 'iso-2022-jp' && search("[^\x01-\x7e]", 'n') == 0 let &fileencoding=&encoding endif endfunction autocmd BufReadPost * call AU_ReCheck_FENC() endif " 改行コードの自動認識 set fileformats=unix,dos,mac " □とか○の文字があってもカーソル位置がずれないようにする if exists('&ambiwidth') set ambiwidth=double endif