初めてのvim - そしてvimrc晒しへ -
先日の日記で通りすがりの人からもらったコメントで
「ユーvimrc公開しちゃいなよ!」的なことを言われたので早速公開してみます><
vimrc
" vim:set ts=4 sts=4 sw=4 tw=0: (この行に関しては:help modelineを参照) "--------------------------------------------------------------------------- " メニューファイルが存在しない場合は予め'guioptions'を調整しておく if 1 && !filereadable($VIMRUNTIME . '/menu.vim') && has('gui_running') set guioptions+=M endif "--------------------------------------------------------------------------- " 検索の挙動に関する設定: " " 検索時に大文字小文字を無視 (noignorecase:無視しない) set ignorecase " 大文字小文字の両方が含まれている場合は大文字小文字を区別 set smartcase "--------------------------------------------------------------------------- " 編集に関する設定: " " タブの画面上での幅 set tabstop=4 " タブをスペースに展開しない (expandtab:展開する) set noexpandtab " 自動的にインデントする (noautoindent:インデントしない) set autoindent " バックスペースでインデントや改行を削除できるようにする set backspace=2 " 検索時にファイルの最後まで行ったら最初に戻る (nowrapscan:戻らない) set wrapscan " 括弧入力時に対応する括弧を表示 (noshowmatch:表示しない) set showmatch " コマンドライン補完するときに強化されたものを使う(参照 :help wildmenu) set wildmenu " テキスト挿入中の自動折り返しを日本語に対応させる set formatoptions+=mM " 日本語整形スクリプト(by. 西岡拓洋さん)用の設定 let format_allow_over_tw = 1 " ぶら下り可能幅 "--------------------------------------------------------------------------- " GUI固有ではない画面表示の設定: " " 行番号を非表示 (number:表示) set number " ルーラーを表示 (noruler:非表示) set ruler " タブや改行を表示 (list:表示) set nolist " どの文字でタブや改行を表示するかを設定(表示しないように) set listchars= " set listchars=tab:,extends:<,trail:-,eol:< " 長い行を折り返して表示 (nowrap:折り返さない) set wrap " 常にステータス行を表示 (詳細は:he laststatus) set laststatus=2 " コマンドラインの高さ (Windows用gvim使用時はgvimrcを編集すること) set cmdheight=2 " コマンドをステータス行に表 set showcmd " タイトルバーの表示を消す set notitle "--------------------------------------------------------------------------- " ファイル操作に関する設定: " " バックアップファイルを作成しない (次行の先頭の " を削除すれば有効になる) "set nobackup "--------------------------------------------------------------------------- " ファイル名に大文字小文字の区別がないシステム用の設定: " (例: DOS/Windows/MacOS) " if filereadable($VIM . '/vimrc') && filereadable($VIM . '/ViMrC') " tagsファイルの重複防止 set tags=./tags,tags endif "--------------------------------------------------------------------------- " プラットホーム依存の特別な設定 " WinではPATHに$VIMが含まれていないときにexeを見つけ出せないので修正 if has('win32') && $PATH !~? '\(^\|;\)' . escape($VIM, '\\') . '\(;\|$\)' let $PATH = $VIM . ';' . $PATH endif if has('mac') " Macではデフォルトの'iskeyword'がcp932に対応しきれていないので修正 set iskeyword=@,48-57,_,128-167,224-235 endif " 自分で追加↓ " ヤンク/pでクリップボード操作 set clipboard+=unnamed " :browse の初期ディレクトリ(vimエディタで開いているファイルと同じディレクトリ) set browsedir=buffer syntax on filetype on " 文字コードの自動認識 if &encoding !=# 'utf-8' set encoding=cp932 set fileencoding=cp932 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=dos,unix,mac " □とか○の文字があってもカーソル位置がずれないようにする if exists('&ambiwidth') set ambiwidth=double endif " 改行コードの自動認識 set fileformats=dos,unix,mac " 全角スペース、末尾の半角スペース、タブを色づけする(色は俺好み、でも全角スペースを□にしたい) if has("syntax") syntax on function! ActivateInvisibleIndicator() syntax match InvisibleJISX0208Space " " display containedin=ALL highlight InvisibleJISX0208Space term=underline ctermbg=Blue guifg=#999999 gui=underline syntax match InvisibleTrailedSpace "[ ]\+$" display containedin=ALL highlight InvisibleTrailedSpace term=underline ctermbg=Red guifg=#FF5555 gui=underline syntax match InvisibleTab "\t" display containedin=ALL highlight InvisibleTab term=underline ctermbg=Cyan guibg=#555555 endf augroup invisible autocmd! invisible autocmd BufNew,BufRead * call ActivateInvisibleIndicator() augroup END endif
gvimrc
"vim:set ts=4 sts=4 sw=4 tw=0 : (この行に関しては:help modelineを参照) set modeline "--------------------------------------------------------------------------- " フォント設定: " if has('win32') " Windows用 set guifont=MeiryoKe_Gothic:h12:cSHIFTJIS "set guifont=MeiryoKe_Gothic:h12:cSHIFTJIS " 行間隔の設定 set linespace=1 " 一部のUCS文字の幅を自動計測して決める if has('kaoriya') set ambiwidth=auto endif elseif has('mac') set guifont=Osaka−等幅:h14 elseif has('xfontset') " UNIX用 (xfontsetを使用) set guifontset=a14,r14,k14 endif "--------------------------------------------------------------------------- " ウインドウに関する設定: " " ウインドウの幅 set columns=200 " ウインドウの高さ set lines=150 " 行間 set linespace=2 " コマンドラインの高さ(GUI使用時) set cmdheight=2 " 色 colorscheme ron " 起動時に最大化する autocmd GUIEnter * simalt ~x " 起動時のWindowの位置(:winposで現在の位置が取得できる) winpos 1276 60 "--------------------------------------------------------------------------- " 日本語入力に関する設定: " if has('multi_byte_ime') || has('xim') " IME ON時のカーソルの色を設定(設定例:紫) highlight CursorIM guibg=Purple guifg=NONE " 挿入モード・検索モードでのデフォルトのIME状態設定 set iminsert=0 imsearch=0 if has('xim') && has('GUI_GTK') " XIMの入力開始キーを設定: " 下記の s-space はShift+Spaceの意味でkinput2+canna用設定 "set imactivatekey=s-space endif " 挿入モードでのIME状態を記憶させない場合、次行のコメントを解除 "inoremap <silent> <ESC> <ESC>:set iminsert=0<CR> endif "--------------------------------------------------------------------------- " マウスに関する設定: " " 解説: " mousefocusは幾つか問題(一例:ウィンドウを分割しているラインにカーソルがあっ " ている時の挙動)があるのでデフォルトでは設定しない。Windowsではmousehide " が、マウスカーソルをVimのタイトルバーに置き日本語を入力するとチラチラする " という問題を引き起す。 " " どのモードでもマウスを使えるようにする set mouse=a " マウスの移動でフォーカスを自動的に切替えない (mousefocus:切替る) set nomousefocus " 入力時にマウスポインタを隠す (nomousehide:隠さない) set mousehide " ビジュアル選択(D&D他)を自動的にクリップボードへ (:help guioptions_a) "set guioptions+=a "--------------------------------------------------------------------------- " その他設定: " " よくわからないまま追加 set nocompatible set equalalways " カーソルが一番上や下に移動した時のビープ音を消す&画面フラッシュも消す set vb t_vb= " カーソルを点滅させない set guicursor=a:blinkon0 " ツールバー消す set guioptions-=T "--------------------------------------------------------------------------- " 印刷に関する設定 " " 印刷用フォント if has('printer') if has('win32') "set printfont=MS_Mincho:h12:cSHIFTJIS set printfont=MS_Gothic:h12:cSHIFTJIS endif endif "起動時のメッセージを消す(ウガンダに寄付しないフトドキモノです) set shortmess+=I