Feed

kanbe's watching list

  • [294] Align

    Comment ためしにつかってみる
  • [365] bash-support.vim

    Comment 使ってみる
  • [42] bufexplorer.zip

    Comment [使用中]バッファ一覧表示、切り替え Windowを作らないところがよいかも
  • [213] c.vim

    Comment 試してみる
  • [2150] css_color.vim

    Comment
  • [2438] EasyGrep

    Comment ファイルタイプのグループを指定してグレップ&置換
  • [1584] Erlang plugin package

    Comment 継続してWatch
  • [1861] errormarker.vim

    Comment 必須
  • [889] EvalSelection.vim

    Comment 選択したスクリプトを実行
  • [539] FavEx

    Comment よく使うファイルのリストを管理するスクリプトです。 このスクリプトを使用すると、頻繁に編集するファイルを 素早くエディタで開いて、素早く編集することができます。http://nanasi.jp/articles/vim/favex_vim.html
  • [1984] FuzzyFinder

    Comment tag検索でよく使う
  • [197] genutils

    Comment alignで必要
  • [311] grep.vim

    Comment ためしに使ってみる
  • [685] incbufswitch.vim

    Comment インクリメンタルにバッファを検索、切り替える
  • [2103] kwbdi.vim

    Comment レイアウトをくずさずにバッファを閉じる
  • [1581] lookupfile

    Comment refe.vimと一緒に使うとインクリメンタルサーチできる
  • [489] ManPageView

    Comment
  • [39] matchit.zip

    Comment 対応したタグへとぶ
  • [2620] neocomplcache

    Comment [使用中]autocomplpopと似てる。どっちが良いのか試す
  • [2419] quickrun

    Comment
  • [389] scratch utility

    Comment 作業用バッファプラグイン
  • [2470] smartword

    Comment vim7.2にしたら試してみるorg
  • [2540] snipMate

    Comment [使用中]
  • [492] SQLUtilities

    Comment SQLの整形
  • [1697] surround.vim

    Comment [使用中]
  • [978] svn-diff.vim

    Comment commit時にdiffを確認できて便利
  • [273] taglist.vim

    Comment [使用中]関数等の一覧を表示してジャンプできる
  • [1218] The NERD Commenter

    Comment [使用中]コメントアウトプラグイン
  • [1658] The NERD tree

    Comment [使用中]エース
  • [1778] Wombat

    Comment colorscheme
  • [1234] YankRing.vim

    Comment [使用中]
  • [2981] ZenCoding.vim

    Comment

.vimrc

" vim:set ts=8 sts=2 sw=2 tw=0: (この行に関しては:help modelineを参照)
"
" An example for a Japanese version vimrc file.
" 日本語版のデフォルト設定ファイル(vimrc) - Vim7用試作
"
" Last Change: 13-Apr-2009.
" 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 evening " (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
"

set nocompatible " must be first!

"colorscheme Dark2
"colorscheme torte
"colorscheme darkblue
"colorscheme delek
"colorscheme default
"colorscheme desert
"colorscheme evening
"colorscheme morning
"colorscheme pablo
"colorscheme ron
"colorscheme slate
"colorscheme zellner
"colorscheme peachpuff
"colorscheme murphy
"colorscheme shine
"colorscheme blue

"set expandtab
set shiftround
set autoindent
set backspace=indent,eol,start
set backup
set hidden
set history=50
set hlsearch
set ignorecase
set incsearch
set laststatus=2
set nobackup
set number " show the line number
set ruler
set shiftwidth=4
set showcmd
set showmatch
set smartcase
set statusline=%<%f\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,%c%V%8P
set tabstop=4
set wrapscan
set autochdir
set visualbell t_vb=

" position of new window when split
set splitbelow
set splitright

" word complete like zsh
set wildmode=longest,list

nnoremap j gj
nnoremap k gk

"Escを2回押したらハイライトをやめる
nnoremap <Esc><Esc> :<C-u>set nohlsearch<Return>
nnoremap / :<C-u>set hlsearch<Return>/
nnoremap ? :<C-u>set hlsearch<Return>?
nnoremap * :<C-u>set hlsearch<Return>*
nnoremap # :<C-u>set hlsearch<Return>#

"move between windows
noremap <C-k> <C-w>k
noremap <C-j> <C-w>j
noremap <C-h> <C-w>h
noremap <C-l> <C-w>l

" resize window
if bufwinnr(1)
nnoremap + 2<C-W>+
nnoremap - 2<C-W>-
nnoremap 9 :vertical resize -2<return>
nnoremap 0 :vertical resize +2<return>
endif

" for search
nmap n nzz
nmap N Nzz
nmap * *zz
nmap # #zz
nmap g* g*zz
nmap g# g#zz

"----------- space for general -------------
nnoremap <space> <Nop>

"for format.vim
vnoremap <space>F gq

"for yankring.vim
nnoremap <silent> <space>s :YRShow<CR>

" copy word into system clipboard
nnoremap <space>y "+yiw

" copy yank buffer to system clipboard
nnoremap <space>c :Fy<cr>

" yank file Path
nnoremap <space>p :FP<cr>

" yank file Name
nnoremap <space>f :FF<cr>

" yank selected area, then add filepath
vnoremap <space>l :FLP<cr>

" highlight line
nnoremap <silent> <space>h :HighlightCurrentLine Search<cr>
command! -nargs=1 HighlightCurrentLine execute 'match <args> /<bslash>%'.line('.').'l/'
nnoremap <silent> <space>H :UnHighlightCurrentLine<cr>
command! -nargs=0 UnHighlightCurrentLine match

"----------- q for quickfix -------------
"http://whileimautomaton.net/2007/02/diary#d16-1656
nnoremap Q q

"for grep
nnoremap qj :cnext<Return>
nnoremap qk :cprevious<Return>
nnoremap qg :Grep<Space><c-r><c-w>
nnoremap qG :Grep<Space>
nnoremap qe :Egrep<Space><c-r><c-w>
nnoremap qE :Egrep<Space>
nnoremap qr :Rgrep<Space><c-r><c-w>
nnoremap qR :Rgrep<Space>
nnoremap qb :Bgrep<Space><c-r><c-w>
nnoremap qB :bufdo vimgrepadd /hogehoge/ %<Space>
nnoremap qf :FLF<cr>
nnoremap ql :FL<cr>
nnoremap q <Nop>

"----------- , for programing -------------
"for make
nnoremap ,m :make<Return>
nnoremap ,M :make<Space>

"for ctags
"nnoremap ,t :tag<space>
nnoremap ,s :tselect<Return>
nnoremap ,S :tselect<space>/^
nnoremap ,n :tnext<Return>
nnoremap ,p :tprevious<Return>
"nnoremap ,L :tlast<Return>
"nnoremap ,F :tfirst<Return>
"for gtags
nnoremap ,R :Gtags -r <C-r>=expand('<cword>')<CR>
nnoremap ,r :Gtags -r <C-r>=expand('<cword>')<CR><CR>
nnoremap ,g :Gtags <C-r>=expand('<cword>')<CR><CR>
nnoremap ,G :Gtags <C-r>=expand('<cword>')<CR>
nnoremap ,y y$
"nnoremap ,r :Gtags -r <c-r><c-w>
"nnoremap ,T :Gtags<space>^

" for fuzzyfinder http://vim.g.hatena.ne.jp/keyword/fuzzyfinder.vim
nnoremap <silent> ,t :FuzzyFinderTag!<CR>
nnoremap <silent> ,T :FuzzyFinderTag! <C-r>=expand('<cword>')<CR><CR>
" fill current directory's path
nnoremap ,f :FuzzyFinderFile <C-r>=fnamemodify(getcwd(), ':p')<CR><CR>
" fill current buffer's path
nnoremap ,F :FuzzyFinderFile <C-r>=expand('%:~:.')[:-1-len(expand('%:~:.:t'))]<CR><CR>
nnoremap <silent> ,b :FuzzyFinderBuffer<CR>

"for taglist.vim
nnoremap ,l :Tlist<Return>

"----------- for binary mode -------------
"バイナリ編集(xxd)モード(vim -b での起動、もしくは *.bin ファイルを開くと発動します)
augroup BinaryXXD
autocmd!
autocmd BufReadPre *.bin let &binary =1
autocmd BufReadPost * if &binary | silent %!xxd -g 1
autocmd BufReadPost * set ft=xxd | endif
autocmd BufWritePre * if &binary | %!xxd -r | endif
autocmd BufWritePost * if &binary | silent %!xxd -g 1
autocmd BufWritePost * set nomod | endif
augroup END

"----------- for autocomplpop.vim-------------
"for autocomplete.vim use cooldaemon's dictionary
"http://d.hatena.ne.jp/cooldaemon/20071114/1195029893
"autocmd FileType * let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i'
"autocmd FileType erlang let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i,k~/.vim/dict/erlang.dict'
"autocmd FileType perl let g:AutoComplPop_CompleteOption = '.,w,b,u,t,k~/.vim/dict/perl.dict'
"autocmd FileType ruby let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i,k~/.vim/dict/ruby.dict'
"autocmd FileType javascript let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i,k~/.vim/dict/javascript.dict'
"autocmd FileType html let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i,k~/.vim/dict/html.dict'
"autocmd FileType scheme let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i,k~/.vim/dict/scheme.dict'
"autocmd FileType css let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i,k~/.vim/dict/css.dict'
"autocmd FileType actionscript let g:AutoComplPop_CompleteOption = '.,w,b,u,t,i,k~/.vim/dict/actionscript.dict'
"let g:AutoComplPop_IgnoreCaseOption = 1

"open quickfix window automatically after some commands.
"autocmd QuickfixCmdPost make,grep,grepadd,vimgrep copen
autocmd QuickfixCmdPost make,grep,grepadd,vimgrep cwindow

" highlight zenkaku space
highlight SpecialKey cterm=underline ctermfg=darkgrey
highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=white
match ZenkakuSpace / /

"--------------------------------------------------------------------------
"copy yankbuffer to system clipboard.
set clipboard+=unnamed
command! Fy let @+=@"

" 'ファイル名' をヤンク/クリップボードのバッファにコピー
command! FP let @"=expand("%:p") | let @+=@"
command! FF let @"=expand("%:f") | let @+=@"

" 行番号 をヤンク/クリップボードのバッファにコピー
"command! FL let @"="L".line(".") | let @+=@"
command! FL let @"=line(".") | let @+=@"

" 'ファイル名 :L行番号' をヤンク/クリップボードのバッファにコピー
function! s:get_filename_with_line_number(s, e)
let result = expand("%:f")." :L".line(".")
if a:s == a:e
let @" = result
else
let result .= "\n===\n"
let result .= join(getline(a:s, a:e), "\n")
let @" = result."\n==="
endif

let @+ = @"
endfunction
command! -range FLF call s:get_filename_with_line_number(<line1>, <line2>)

" 'ファイルパス :L行番号' をヤンク/クリップボードのバッファにコピー
function! s:get_filepath_with_line_number(s, e)
let result = expand("%:p")." :L".line(".")
if a:s == a:e
let @" = result
else
let result .= "\n===\n"
let result .= join(getline(a:s, a:e), "\n")
let @" = result."\n==="
endif

let @+ = @"
endfunction
command! -range FLP call s:get_filepath_with_line_number(<line1>, <line2>)

"--------------------------------------------------------------------------
"
"set tags=C:\lsx\hgs\workspace\.tags,C:\lsx\hgs\IIS\xshb\bin\tags
"set tags=C:\lsx\hgs\workspace\.tags,C:\lsx\hgs\IIS\xshb\bin\tags,C:\lsx\hgs\IIS\xsst\bin\tags
"set tags=C:\lsx\hgs\IIS\xsst\bin\tags

set tags=C:\lsx\hgs\workspace\.tags,C:\lsx\hgs\IIS\xshb\bin\tags,C:\lsx\hgs\IIS\xsst\bin\tags

syntax on

""""""""""""""""""""""""""""""
" mark setting
""""""""""""""""""""""""""""""
"nmap <silent> <leader>hl <Plug>MarkSet
"vmap <silent> <leader>hl <Plug>MarkSet
"nmap <silent> <leader>hh <Plug>MarkClear
"vmap <silent> <leader>hh <Plug>MarkClear
"nmap <silent> <leader>hr <Plug>MarkRegex
"vmap <silent> <leader>hr <Plug>MarkRegex

"set cursorline

"let Grep_Path = 'C:\GnuWin32\bin\grep.exe'
let Grep_Path = 'C:\grep20\grep.exe'
let Fgrep_Path = 'C:\grep20\grep.exe -F'
let Egrep_Path = 'C:\grep20\grep.exe -E'
let Grep_Find_Path = 'C:\GnuWin32\bin\find.exe'
let Grep_Xargs_Path = 'C:\GnuWin32\bin\xargs.exe'
let Grep_Shell_Quote_Char = '"'

"--- gnu global でタグジャンプ
if has("win32")
set tags+=$HOMEPATH/globaltags
else
set tags+=$HOME/.globaltags
endif
function! GtagToCtag(pat)
" C, C++のファイルのみ
let ext = expand("%:e")
" if ext !=? "h" && ext !=? "c" && ext !=? "cc" && ext !=? "cpp"
if ext !=? "h" && ext !=? "c" && ext !=? "cc" && ext !=? "cpp" && ext !=? "java"
return
endif
" 現在行から10行読み込み
let lnum = line('.')
let tenline = ""
let loop = 0
while loop < 10
let tenline = tenline . getline(lnum + loop)
let loop = loop + 1
endwhile
" globalから取得したタグの格納場所指定
if has("win32")
" for vim command
let file = expand("$HOMEPATH/globaltags")
" for filer
let ffile = '"' . file . '"'
else
let file = expand("$HOME/.globaltags")
let ffile = expand("$HOME/.globaltags")
endif
call delete(file)
let gopt = "-atq"
" 関数の実体からは -r で取得
let chk1 = '\%(^\|\s*\)' . a:pat . '\s*([^;&=+\-|~]\+\w[[:blank:]*]\+\w[^;&=+\-|~]\+)\s*{'
let chk2 = '\%(^\|[ \t]*\)' . a:pat . '\s*(\%(\s*\a\w*,\)*\%(\s*\a\w*\)\s*)[[:blank:][:alnum:]*_;[\]]\+;\s*{'
if tenline =~ chk1
let gopt = "-artq"
elseif tenline =~ chk2
let gopt = "-artq"
else
" defineは宣言箇所では -r で取得
let chk = '^[ \t]*#[ \t]*define[ \t]\+' . a:pat
if tenline =~ chk
let chk = '#define\s\+\a\w*[([:blank:]]'
if strpart(getline("."), 0, col(".")) !~ chk
let gopt = "-artq"
endif
endif
endif
execute "silent !global " . gopt . " " . a:pat . " > " . ffile
" 以上の判定でみつかんなければ -s で取得
if getfsize(file) <= 0
execute "silent !global -astq " . a:pat . " > " . ffile
endif
endfunction
command! -nargs=1 GtagsToCtags call GtagToCtag(<f-args>)
nnoremap <c-]> :GtagsToCtags <c-r><c-w><cr><c-]>
nnoremap <c-w>] :GtagsToCtags <c-r><c-w><cr><c-w>]
" end gnu global