minibufexpl.vimとscratch.vimの相性が悪い
scratch.vimは何種類かあるけどhttp://www.vim.org/scripts/script.php?script_id=1134を使っている。
scratch.vimを簡単に説明すると、Vimが起動している間のみ有効な(つまりファイルではなくメモリ上の)メモ。
もともとはEmacsの機能だったはず。
最近はVimを一日中(家だと数日)起動しっぱなしになっているので便利。
さて本題。
minibufexpl.vimで複数のファイルを開いていて、scratch.vimの機能を使った場合に問題が起きる。
Vimの画面全体をScratchにする(
Splitを行うScratchの場合(
仕方がないのでscratch.vimを修正。
function! s:ScratchBufferToggle(flag) " open the scratch buf " flag : 0 split " 1 not split let curb = bufnr('') call s:ScratchBufferNew() if s:visuable == 1 if curb == s:scratch_number silent! bn else exe curb . 'buffer' endif if bufnr('') != s:scratch_number let s:visuable = 0 endif "ここを追加 if a:flag == 0 close endif "ここまで else "if s:visuable == 0 if a:flag == 0 exe 'split +' . s:scratch_number . 'buffer' resize 10 else exe s:scratch_number . 'buffer' endif let s:visuable = 1 endif endfunction
これでSplit機能の方は問題が無くなる。
普通のScratch機能は修正が出来なかったので、Split機能のみを使うことでお茶を濁す。
しかしこのscriptをWindowsで使うと重くなる。
どうしたものか。
Windowsでの最低限必要な設定とかscriptはhttp://d.hatena.ne.jp/longicorn/20071130#p1で書いたけど、
そのうち使っているscript一覧とかも書こうかな。