vimrc。。。
id:Voluntasさんと以前話をしていたので、自分のvimrcを晒してみる。
基本、いろんなサイトのコピペです。。。引用元がわからないので、
申し訳ないところがありますが、ご了承くださいませ。。。
整理は出来ていないです。。。
基本はkaoriyaさんです。
" vim:set ts=8 sts=2 sw=2 tw=0: (この行に関しては:help modelineを参照) " " An example for a Japanese version vimrc file. " 日本語版のデフォルト設定ファイル(vimrc) - Vim7用試作 " " Last Change: 29-Apr-2008. " Maintainer: MURAOKA Taro <koron@tka.att.ne.jp> " " 解説: " このファイルにはVimの起動時に必ず設定される、編集時の挙動に関する設定が書 " かれています。GUIに関する設定はgvimrcに書かかれています。 " " 個人用設定は_vimrcというファイルを作成しそこで行ないます。_vimrcはこのファ " イルの後に読込まれるため、ここに書かれた内容を上書きして設定することが出来 " ます。_vimrcは$HOMEまたは$VIMに置いておく必要があります。$HOMEは$VIMよりも " 優先され、$HOMEでみつかった場合$VIMは読込まれません。 " " 管理者向けに本設定ファイルを直接書き換えずに済ませることを目的として、サイ " トローカルな設定を別ファイルで行なえるように配慮してあります。Vim起動時に " サイトローカルな設定ファイル($VIM/vimrc_local.vim)が存在するならば、本設定 " ファイルの主要部分が読み込まれる前に自動的に読み込みます。 " " 読み込み後、変数g:vimrc_local_finishが非0の値に設定されていた場合には本設 " 定ファイルに書かれた内容は一切実行されません。デフォルト動作を全て差し替え " たい場合に利用して下さい。 " " 参考: " :help vimrc " :echo $HOME " :echo $VIM " :version "--------------------------------------------------------------------------- " サイトローカルな設定($VIM/vimrc_local.vim)があれば読み込む。読み込んだ後に " 変数g:vimrc_local_finishに非0な値が設定されていた場合には、それ以上の設定 " ファイルの読込を中止する。 if 1 && filereadable($VIM . '/vimrc_local.vim') unlet! g:vimrc_local_finish source $VIM/vimrc_local.vim if exists('g:vimrc_local_finish') && g:vimrc_local_finish != 0 finish endif endif "--------------------------------------------------------------------------- " ユーザ優先設定($HOME/.vimrc_first.vim)があれば読み込む。読み込んだ後に変数 " g:vimrc_first_finishに非0な値が設定されていた場合には、それ以上の設定ファ " イルの読込を中止する。 if 0 && exists('$HOME') && filereadable($HOME . '/.vimrc_first.vim') unlet! g:vimrc_first_finish source $HOME/.vimrc_first.vim if exists('g:vimrc_first_finish') && g:vimrc_first_finish != 0 finish endif endif "--------------------------------------------------------------------------- " 日本語対応のための設定: " " ファイルを読込む時にトライする文字エンコードの順序を確定する。漢字コード自 " 動判別機能を利用する場合には別途iconv.dllが必要。iconv.dllについては " README_w32j.txtを参照。ユーティリティスクリプトを読み込むことで設定される。 source $VIMRUNTIME/encode_japan.vim " メッセージを日本語にする (Windowsでは自動的に判断・設定されている) if !(has('win32') || has('mac')) && has('multi_lang') if !exists('$LANG') || $LANG.'X' ==# 'X' if !exists('$LC_CTYPE') || $LC_CTYPE.'X' ==# 'X' language ctype ja_JP.eucJP endif if !exists('$LC_MESSAGES') || $LC_MESSAGES.'X' ==# 'X' language messages ja_JP.eucJP endif endif endif " MacOS Xメニューの日本語化 (メニュー表示前に行なう必要がある) if has('mac') set langmenu=japanese endif " 日本語入力用のkeymapの設定例 (コメントアウト) if has('keymap') " ローマ字仮名のkeymap "silent! set keymap=japanese "set iminsert=0 imsearch=0 endif " 非GUI日本語コンソールを使っている場合の設定 if !has('gui_running') && &encoding != 'cp932' && &term == 'win32' set termencoding=cp932 endif "--------------------------------------------------------------------------- " メニューファイルが存在しない場合は予め'guioptions'を調整しておく if 1 && !filereadable($VIMRUNTIME . '/menu.vim') && has('gui_running') set guioptions+=M endif "--------------------------------------------------------------------------- " Bram氏の提供する設定例をインクルード (別ファイル:vimrc_example.vim)。これ " 以前にg:no_vimrc_exampleに非0な値を設定しておけばインクルードはしない。 if 1 && (!exists('g:no_vimrc_example') || g:no_vimrc_example == 0) if &guioptions !~# "M" " vimrc_example.vimを読み込む時はguioptionsにMフラグをつけて、syntax on " やfiletype plugin onが引き起こすmenu.vimの読み込みを避ける。こうしない " とencに対応するメニューファイルが読み込まれてしまい、これの後で読み込 " まれる.vimrcでencが設定された場合にその設定が反映されずメニューが文字 " 化けてしまう。 set guioptions+=M source $VIMRUNTIME/vimrc_example.vim set guioptions-=M else source $VIMRUNTIME/vimrc_example.vim endif endif "--------------------------------------------------------------------------- " 検索の挙動に関する設定: " " 検索時に大文字小文字を無視 (noignorecase:無視しない) set ignorecase " 大文字小文字の両方が含まれている場合は大文字小文字を区別 set smartcase "--------------------------------------------------------------------------- " 編集に関する設定: " " タブの画面上での幅 set tabstop=8 " タブをスペースに展開しない (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 nonumber " ルーラーを表示 (noruler:非表示) set ruler " タブや改行を表示 (list:表示) set nolist " どの文字でタブや改行を表示するかを設定 "set listchars=tab:>-,extends:<,trail:-,eol:< " 長い行を折り返して表示 (nowrap:折り返さない) set wrap " 常にステータス行を表示 (詳細は:he laststatus) set laststatus=2 " コマンドラインの高さ (Windows用gvim使用時はgvimrcを編集すること) set cmdheight=2 " コマンドをステータス行に表示 set showcmd " タイトルを表示 set title " 画面を黒地に白にする (次行の先頭の " を削除すれば有効になる) colorscheme twilight2 " (Windows用gvim使用時はgvimrcを編集すること) "--------------------------------------------------------------------------- " ファイル操作に関する設定: " " バックアップファイルを作成しない (次行の先頭の " を削除すれば有効になる) "set nobackup "--------------------------------------------------------------------------- " ファイル名に大文字小文字の区別がないシステム用の設定: " (例: DOS/Windows/MacOS) " if filereadable($VIM . '/vimrc') && filereadable($VIM . '/ViMrC') " tagsファイルの重複防止 set tags=./tags,tags endif "--------------------------------------------------------------------------- " コンソールでのカラー表示のための設定(暫定的にUNIX専用) if has('unix') && !has('gui_running') let uname = system('uname') if uname =~? "linux" set term=builtin_linux elseif uname =~? "freebsd" set term=builtin_cons25 elseif uname =~? "Darwin" set term=beos-ansi else set term=builtin_xterm endif unlet uname endif "--------------------------------------------------------------------------- " コンソール版で環境変数$DISPLAYが設定されていると起動が遅くなる件へ対応 if !has('gui_running') && has('xterm_clipboard') set clipboard=exclude:cons\\\|linux\\\|cygwin\\\|rxvt\\\|screen 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 " Copyright (C) 2007 KaoriYa/MURAOKA Taro "全角スペースを視覚化 highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=#666666 au BufNewFile,BufRead * match ZenkakuSpace / / " 検索関連 set wrapscan " 最後まで検索したら先頭へ戻る set ignorecase " 大文字小文字無視 set smartcase " 大文字ではじめたら大文字小文字無視しない set incsearch " インクリメンタルサーチ set hlsearch " 検索文字をハイライト " ファイル関連 set nobackup " バックアップ取らない set autoread " 他で書き換えられたら自動で読み直す set noswapfile " スワップファイル作らない set hidden " 編集中でも他のファイルを開けるようにする "表示関連 set showmatch " 括弧の対応をハイライト set showcmd " 入力中のコマンドを表示 set number " 行番号表示 set wrap " 画面幅で折り返す set list " 不可視文字表示 set listchars=tab:>\ " 不可視文字の表示方法 set notitle " タイトル書き換えない set scrolloff=5 " 行送り "set cursorline " 横棒ハイライト set complete+=k " 補完に辞書ファイル追加 filetype indent on " ファイルタイプによるインデントを行う filetype plugin on " ファイルタイプごとのプラグインを使う "************************************************** "* Autocmd {{{ "-------------------------------------------------- autocmd BufNewFile,BufReadPost *.pc setf esqlc autocmd FileType jsp,asp,php,xml,perl syntax sync minlines=500 maxlines=1000 autocmd FileType python setlocal ts=4 sw=4 sta et sts ai " }}} "************************************************** " Omni補完関連 ======================================================= " $VIMRUNTIME/autoload/htmlcomplete.vimの645行目をコメントアウントしておくとhtmlの補完が小文字になる set omnifunc=syntaxcomplete#Complete set completeopt=menu,preview,menuone " 補完表示設定 " TabでOmni補完及びポップアップメニューの選択 function InsertTabWrapper(is_shift) if pumvisible() return a:is_shift ? "\<C-p>" : "\<C-n>" endif let col = col('.') - 1 if !col || getline('.')[col - 1] !~ '\k\|<\|/' " htmlで補完できるように<,/でもOmni補完 return "\<tab>" elseif exists('&omnifunc') && &omnifunc == '' return a:is_shift ? "\<C-p>" : "\<C-n>" else return "\<C-x>\<C-o>" endif endfunction inoremap <tab> <C-r>=InsertTabWrapper(0)<CR> " Shift-Tabはうまくいかないようだ " inoremap <S-tab> <C-r>=InsertTabWrapper(1)<CR> " CRでOmni確定&改行 function InsertCrWrapper() return pumvisible() ? "\<C-y>\<CR>" : "\<CR>" endfunction inoremap <CR> <C-r>=InsertCrWrapper()<CR> "システム環境設定関連 ==================================== "クリップボードをWindowsと連携 set clipboard=unnamed "VimのタブをFireFox風に if has('mac') nnoremap <C-t> :tabedit<Return> nnoremap <C-w> :tabclose<Return> nnoremap <C-n> :tabnext<Return> nnoremap <C-p> :tabprevious<Return> else nnoremap <C-t> :tabedit<Return> nnoremap <C-w> :tabclose<Return> nnoremap <C-Tab> :tabnext<Return> nnoremap <C-S-Tab> :tabprevious<Return> endif "全角スペースを視覚化 highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=#666666 au BufNewFile,BufRead * match ZenkakuSpace / / "========================================================= ".txtファイルで自動的に日本語入力ON au BufNewFile,BufRead *.txt set iminsert=2 ""========================================================== "括弧の閉じを自動補完 inoremap { {} inoremap [ [] inoremap ( () inoremap ” “” inoremap ‘ ” vnoremap { “zdi^V{z} vnoremap [ “zdi^V[z] vnoremap ( “zdi^V(z) vnoremap ” “zdi^V”z^V” vnoremap ‘ “zdi’z’ " :set showmatch "PythonをVimから実行 "python import vim "command Py python exec('\n'.join(vim.current.buffer)) "#Vimで編集中のPythonコード実行 ":Pyとコマンドを打つか、F5で起動 command! Py call s:Py() nmap <F5> :Py<CR> function! s:Py() :w :!python % endfunction "ctags Source Explorer(srcexpl.vim)設定 "自動(#vimrcに追加。自動表示するまでの時間) let g:SrcExpl_RefreshTime = 1 "tagsをsrcexpl起動時に自動で作成(更新)するかどうか let g:SrcExpl_UpdateTags = 1 "手動表示のMAP(#スペースに割当てる場合。) let g:SrcExpl_RefreshMapKey = "<Space>" "戻る機能のMAP(#ノーマルモードで動作する) let g:SrcExpl_GoBackMapKey = "<C-b>" "Source Explorerの機能ON/OFF nmap <F8> :SrcExplToggle<CR>
gvimrcはこれ
" vim:set ts=8 sts=2 sw=2 tw=0: (この行に関しては:help modelineを参照) " " An example for a Japanese version gvimrc file. " 日本語版のデフォルトGUI設定ファイル(gvimrc) - Vim7用試作 " " Last Change: 23-Mar-2008. " Maintainer: MURAOKA Taro <koron@tka.att.ne.jp> " " 解説: " このファイルにはVimの起動時に必ず設定される、GUI関連の設定が書かれていま " す。編集時の挙動に関する設定はvimrcに書かかれています。 " " 個人用設定は_gvimrcというファイルを作成しそこで行ないます。_gvimrcはこの " ファイルの後に読込まれるため、ここに書かれた内容を上書きして設定することが " 出来ます。_gvimrcは$HOMEまたは$VIMに置いておく必要があります。$HOMEは$VIM " よりも優先され、$HOMEでみつかった場合$VIMは読込まれません。 " " 管理者向けに本設定ファイルを直接書き換えずに済ませることを目的として、サイ " トローカルな設定を別ファイルで行なえるように配慮してあります。Vim起動時に " サイトローカルな設定ファイル($VIM/gvimrc_local.vim)が存在するならば、本設 " 定ファイルの主要部分が読み込まれる前に自動的に読み込みます。 " " 読み込み後、変数g:gvimrc_local_finishが非0の値に設定されていた場合には本設 " 定ファイルに書かれた内容は一切実行されません。デフォルト動作を全て差し替え " たい場合に利用して下さい。 " " 参考: " :help gvimrc " :echo $HOME " :echo $VIM " :version "--------------------------------------------------------------------------- " サイトローカルな設定($VIM/gvimrc_local.vim)があれば読み込む。読み込んだ後 " に変数g:gvimrc_local_finishに非0な値が設定されていた場合には、それ以上の設 " 定ファイルの読込を中止する。 if 1 && filereadable($VIM . '/gvimrc_local.vim') source $VIM/gvimrc_local.vim if exists('g:gvimrc_local_finish') && g:gvimrc_local_finish != 0 finish endif endif "--------------------------------------------------------------------------- " ユーザ優先設定($HOME/.gvimrc_first.vim)があれば読み込む。読み込んだ後に変 " 数g:gvimrc_first_finishに非0な値が設定されていた場合には、それ以上の設定 " ファイルの読込を中止する。 if 0 && exists('$HOME') && filereadable($HOME . '/.gvimrc_first.vim') unlet! g:gvimrc_first_finish source $HOME/.gvimrc_first.vim if exists('g:gvimrc_first_finish') && g:gvimrc_first_finish != 0 finish endif endif "--------------------------------------------------------------------------- " Bram氏の提供する設定例をインクルード (別ファイル:vimrc_example.vim)。これ " 以前にg:no_gvimrc_exampleに非0な値を設定しておけばインクルードしない。 if 1 && (!exists('g:no_gvimrc_example') || g:no_gvimrc_example == 0) source $VIMRUNTIME/gvimrc_example.vim endif "--------------------------------------------------------------------------- " カラー設定: colorscheme rdark "--------------------------------------------------------------------------- " フォント設定: " if has('win32') " Windows用 set guifont=MS_Gothic:h12:cSHIFTJIS "set guifont=MS_Mincho: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=80 " ウインドウの高さ set lines=25 " コマンドラインの高さ(GUI使用時) set cmdheight=2 " 画面を黒地に白にする (次行の先頭の " を削除すれば有効になる) "colorscheme twilight2 " (GUI使用時) "--------------------------------------------------------------------------- " 日本語入力に関する設定: " 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 "--------------------------------------------------------------------------- " メニューに関する設定: " " 解説: " "M"オプションが指定されたときはメニュー("m")・ツールバー("T")供に登録され " ないので、自動的にそれらの領域を削除するようにした。よって、デフォルトのそ " れらを無視してユーザが独自の一式を登録した場合には、それらが表示されないと " いう問題が生じ得る。しかしあまりにレアなケースであると考えられるので無視す " る。 " if &guioptions =~# 'M' let &guioptions = substitute(&guioptions, '[mT]', '', 'g') endif "--------------------------------------------------------------------------- " その他、見栄えに関する設定: " " 検索文字列をハイライトしない(_vimrcではなく_gvimrcで設定する必要がある) "set nohlsearch "--------------------------------------------------------------------------- " 印刷に関する設定: " " 注釈: " 印刷はGUIでなくてもできるのでvimrcで設定したほうが良いかもしれない。この辺 " りはWindowsではかなり曖昧。一般的に印刷には明朝、と言われることがあるらし " いのでデフォルトフォントは明朝にしておく。ゴシックを使いたい場合はコメント " アウトしてあるprintfontを参考に。 " " 参考: " :hardcopy " :help 'printfont' " :help printing " " 印刷用フォント if has('printer') if has('win32') set printfont=MS_Mincho:h12:cSHIFTJIS "set printfont=MS_Gothic:h12:cSHIFTJIS endif endif " Copyright (C) 2007 KaoriYa/MURAOKA Taro " gui set transparency=200
id:VoluntasさんのVimrcが気になる。。。
追記:
id mitszoさんに教えてもらいました。ありがとうございますm(_ _)m
自分のvimrcが汚いこと。。。(T T)