" ~ippei/.vimrc for vim6.0, gvim "C-s での保存 " ↑C-s は kterm は通過するけど vim で止められている。 " (emacs -nw や \vi では通る) "C-space を無効化したい。 "--- Common options ---------------------------------------------- "set noerrorbells ruler notitle のように続けて書ける " :set number? で そのオプションの設定状況を表示 " :set all で全てのオプションの設定状況を表示 " :set でデフォルトから変更されたオプションの設定状況を表示 " :mkvimrc で、現在のオプションを ~/.vimrc に書き出す(存在すれば無効) " :source ~/.vimrc で読み込む。 " :set fexrc " *.c なファイルを読み込んだ時 ~/.vimrc.c があれば反映させる set expandtab " タブ文字の代わりに同じ幅の空白文字を入れる set tabstop=8 " タブ文字の表示幅、TABキーで挿入される空白の単位 set softtabstop=2 " タブ押下時の空白の単位 set shiftwidth=2 " 「>>」,「<<」操作のシフト幅 set autoindent "ENTER時自動インデント。無効にするなら noautoindent。 set nosmartindent "smartindent: 賢い自動インデント。使うとコメント文字(#など)を打つとインデントを強制的に削除とかしよる。 set virtualedit=block " C-v の矩形選択で行末より後ろもカーソルを置ける set incsearch " サーチをインクリメンタルサーチにする set smartcase " 検索で大小文字を区別する set ignorecase " 検索で大小文字を区別しない。区別するなら noignorecase 。 set nowrapscan " 検索でファイル終端に来たら先頭に戻る set hlsearch " 検索結果文字列のハイライト set modeline " ファイル内部での動作定義を許可 "set mouse=a "set pastetoggle= set showmatch " 入力時に対応する括弧を表示 set backspace=indent,eol,start "eol:改行,start:入力モードに入る前の文字 "set grepprg=search\ $* ":grep で実行されるプログラム set iminsert=0 "入力モードでのIMEのデフォルト状態 set imsearch=0 "検索モードでのIMEのデフォルト状態 set wrap " 行末で折り返す set ruler " カーソル位置情報を表示 set shortmess+=I "C-g で表示されるファイル情報のフォーマット set showcmd " 入力中のコマンドをステータスに表示 set laststatus=2 " ステータスラインを常に表示 set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P " ステータスラインに文字コードと改行文字を表示する "set visualbell "screen で「vbell off」にしていると鳴る set vb t_vb= "そもそもベルを発生させない。screen でも安心 "set tags+=../tags,../../tags " タグファイル関連? "set helpfile=/usr/local/text/vim.help " ヘルプファイルの設定? set nobackup " バックアップファイルを作らない set number " 行番号の表示 set title " タイトルバーに編集中のファイル名などを表示 " fold set foldmethod=indent set foldlevel=99 "" History set history=200 cnoremap cnoremap """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "" Leader let mapleader = "\" " wを押してファイルを保存する nnoremap w :w "imap :wa imap :wa " 入力モード中と操作を統一するために残す "map :w map :w vmap y "+y vmap d "+d nmap p "+p nmap P "+P vmap p "+p vmap P "+P """""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " キーマップの設定では行内コメントができない " ↓入力モードでのキーマップ imap OC imap OD imap " ↑C-uを検出すると入力モードを抜ける(何もしない(C-uの無効化)にしたいんだけど) "imap :wa " ウィンドウ操作で使う imap :wa "imap :q imap :q imap a "imap :wa "↑うまくいかん imap imap "↑ Ctrl-Space の設定。 は何もしないこと。 map :set list! number! "挿入モードの ON/OFF でListのトグル "autocmd InsertEnter * set list "autocmd InsertLeave * set nolist "バックワード削除されると面倒 "map :w "map :q map :q map :nohlsearch map :n map :N " 保存 ""物理行での行移動 "nnoremap j gj "nnoremap gj j "nnoremap k gk "nnoremap gk k ""brackets "inoremap {} {} "inoremap [] [] "inoremap () () "inoremap "" "" "inoremap '' '' "inoremap <> <> "inoremap []5 [% %] "Backspace キーの挙動 inoremap a " あほみたいやけど、無効にする方法がわからんので一文字置いて BS で消してる。 "日付: autodate.vim ---------------------------------------- let g:autodate_keyword_pre = '\cLast-modified:' "let g:autodate_keyword_post='.' let g:autodate_start_line=1 "マイナス値にするとファイル全体 let g:autodate_lines=10000 "start_line から何行検索するか let g:autodate_format='%Y/%m/%d %H:%M:%S' " 2004/09/27 13:06:32 "let g:autodate_format='%Y/%m/%d' " 2004/09/27 13:06:32 "let g:autodate_format='%c' "Sun Apr 27 11:49:23 1997 " 挿入モード中に日付を howm 形式で挿入 "inoremap =strftime("[%Y-%m-%d]") "map o=strftime("[%Y-%m-%d]") inoremap =strftime("[%Y-%m-%d]") map o=strftime("[%Y-%m-%d]") if has("gui_win32") " Windows 環境 if filereadable( $HOME . "/.vimrc.windows" ) source ~/.vimrc.windows endif endif set encoding=utf-8 set fileencoding=utf-8 "set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8 set termencoding=utf-8 " ↓文脈依存なUTF-8コードを全て全角にする "set ambiwidth=double "set ambiwidth=single "color 設定 set t_Co=256 " 256カラー端末 syntax on " 構文を解釈してカラー表示 hi PreProc ctermfg = 5 hi comment guifg=6 ctermfg=6 hi LineNr ctermfg=white ctermbg=blue "hi SpecialKey term=bold ctermfg=4 guifg=Blue "autocmd VimEnter,ColorScheme * hilight CursorLine cterm=underline "autocmd InsertEnter * hilight CursorLine cterm=bold "autocmd InsertLeave * hilight CursorLine cterm=underline "autocmd ColorScheme * highlight Comment ctermfg=22 guifg=#888800 " set list " タブ文字、改行文字の表示 "set listchars=eol:$,tab:>- " list 表示の時の文字指定 set listchars=tab:>- " list 表示の時の文字指定 highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray | match ZenkakuSpace / / " 全角スペースの表示 " 行末空白のハイライト表示 augroup HighlightTrailingSpaces autocmd! autocmd VimEnter,WinEnter,ColorScheme * highlight TrailingSpaces term=underline guibg=Red ctermbg=18 autocmd VimEnter,WinEnter * match TrailingSpaces /\s\+$/ augroup END set cursorline "highlight CursorLine cterm=NONE ctermfg=white ctermbg=darkblue "highlight CursorLine cterm=NONE ctermbg=darkblue "highlight CursorLine cterm=NONE ctermbg=19 "16 + 36 = 52 "16 黒 "R0 G0, B:17 21 highlight CursorLine cterm=NONE ctermbg=19 "highlight CursorLine cterm=NONE ctermbg=233 autocmd InsertEnter * highlight CursorLine ctermbg=234 autocmd InsertLeave * highlight CursorLine ctermbg=darkblue "hi Search term=reverse ctermfg=Magenta "hi SpecialKey ctermfg=6 "colorscheme torte "colorscheme default "colorscheme ippeiBgWhite "colorscheme ippeiBgWhite "colorscheme blue "colorscheme darkblue "colorscheme default "colorscheme elflord "colorscheme evening "colorscheme ippeiBgWhite "colorscheme koehler "colorscheme morning "colorscheme murphy "colorscheme pablo "colorscheme peachpuff "colorscheme ron "colorscheme shine "colorscheme torte "colorscheme zellner "colorscheme ippei hi SpecialKey term=bold ctermfg=4 guifg=Blue " need control sequence? noremap   noremap!   " completion like zsh. set wildmenu "補完候補を表示 "set wildmode=list,full "set wildmode=list "補完動作の設定 " "set wildmode=full "1つずつマッチさせて循環 "set wildmode=longest "最長までマッチさせるが、そのあとタブを押しても反応なし。 "set wildmode=longest:full "同上 "set wildmode=list "一覧表示。しかし最長マッチも順次マッチもなし。 "set wildmode=list:full "1回目のタブで最初にマッチしたものを入れてしまう。一覧表示。 "set wildmode=list:longest "最初のタブで最長マッチと一覧表示。望む挙動に近い。 set wildmode=list:longest,full "list:longest のあと、タブを連打すると順次マッチ。 "noremap "unmap "unmap filetype indent on " 拡張子によるインデント設定 filetype plugin on set nocompatible filetype plugin on "runtime '/usr/share/vim/vim74/macros/matchit.vim' """"" for vim latex-suite "" IMPORTANT: grep will sometimes skip displaying the file name if you "" search in a singe file. This will confuse latex-suite. Set your grep "" program to alway generate a file-name. "set grepprg=grep\ -nH\ $* ""let g:Tex_CompileRule_dvi = 'platex $*' "let g:Tex_CompileRule_dvi = 'rake' "let g:Tex_ViewRule_dvi = 'xdvi' "function! UpdateDvi () " call rake "endfunction " "編集中のファイルが存在するディレクトリに自動的に移動 ":set autochdir "map :! rake pdf "map :! rake map :cd %:h : ! rake "augroup LatexRake " autocmd! " "autocmd BufWritePost,FileWritePost,FileAppendPost main.tex :! rake pdf " autocmd BufWritePost,FileWritePost,FileAppendPost *.tex :! rake pdf "augroup END "augroup DotRake " autocmd! " autocmd BufWritePost,FileWritePost,FileAppendPost *.dot :! rake dot2png "augroup END let g:rsenseHome = "/home/ippei/opt/rsense-0.3" let g:rsenseUseOmniFunc = 1 setlocal completefunc=RSenseComplete """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "" neobundle.vim "" "set nocompatible " Be iMproved "filetype off " Required! " "if has('vim_starting') " set runtimepath+=~/.vim/bundle/neobundle.vim/ "endif " "call neobundle#rc(expand('~/.vim/bundle/')) " "" Let NeoBundle manage NeoBundle ""NeoBundle 'Shougo/neobundle.vim' " "" Recommended to install "" After install, turn shell ~/.vim/bundle/vimproc, (n,g)make -f your_machines_makefile "NeoBundle 'Shougo/vimproc' " "" My Bundles here: "" "" Note: You don't set neobundle setting in .gvimrc! "" Original repos on github "NeoBundle 'tpope/vim-fugitive' "NeoBundle 'Lokaltog/vim-easymotion' ""NeoBundle 'rstacruz/sparkup', {'rtp': 'vim/'} "" vim-scripts repos "NeoBundle 'L9' "" NeoBundle 'FuzzyFinder' "NeoBundle 'rails.vim' "" Non github repos ""NeoBundle 'git://git.wincent.com/command-t.git' "" Non git repos ""NeoBundle 'http://svn.macports.org/repository/macports/contrib/mpvim/' ""NeoBundle 'https://bitbucket.org/ns9tks/vim-fuzzyfinder' "" ""NeoBundle 'Shougo/neocomplcache.git' ""NeoBundle 'Shougo/neosnippet.git' ""NeoBundle 'git://github.com/Shougo/unite.vim.git' " ""NeoBundle 'newspaper.vim' "NeoBundle 'kien/rainbow_parentheses.vim' "" ... " "filetype plugin indent on " Required! "" "" Brief help "" :NeoBundleList - list configured bundles "" :NeoBundleInstall(!) - install(update) bundles "" :NeoBundleClean(!) - confirm(or auto-approve) removal of unused bundles " "" Installation check. "if neobundle#exists_not_installed_bundles() " echomsg 'Not installed bundles : ' . " \ string(neobundle#get_not_installed_bundle_names()) " echomsg 'Please execute ":NeoBundleInstall" command.' " "finish "endif """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "" neocomplcache "let g:neocomplcache_enable_at_startup = 1 " 起動時に有効化 ""inoremap neocomplcache#smart_close_popup() . "\" ""ENTER で何もせずに改行 "inoremap neocomplcache#smart_close_popup() . "\" "inoremap pumvisible() ? "\" : "\" """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "" neosnippet " Plugin key-mappings. "imap (neosnippet_expand_or_jump) "smap (neosnippet_expand_or_jump) " SuperTab like snippets behavior. "imap neosnippet#expandable() ? "\(neosnippet_expand_or_jump)" : pumvisible() ? "\" : "\" "smap neosnippet#expandable() ? "\(neosnippet_expand_or_jump)" : "\" " "let g:neosnippet#disable_runtime_snippets = { " \ '_' : 1, " \ } " """ For snippet_complete marker. ""if has('conceal') "" set conceallevel=2 concealcursor=i ""endif """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "" kien/rainbow_parentheses.vim, color parentheses "augroup MyAutoCmdFileType " autocmd! MyAutoCmdFileType " autocmd Filetype ruby :RainbowParenthesesToggle "augroup END "let g:rbpt_max = 7 "let g:rbpt_loadcmd_toggle = 0 "set clipboard=unnamedplus """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " md as markdown, instead of modula2 autocmd BufNewFile,BufRead *.md :set filetype=markdown """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "if exists('&ambw') " set ambw=double "endif