ウィンドウの位置とサイズの保存

Vimを使うときは大体フルスクリーンにすることが多いので、Vimコミュニティ(どこだか忘れた)から引っ張ってきたウィンドウの位置とサイズスクリプトは結構役に立っていたのですが、Linux上に移したらうまく動いてない。どうやら、バグ有のようで・・・。

組込み関数内でファイルを指定する場合は、expandを使わないと、チルダが展開されないらしい。

filereadable("~/.vimrc")         " error : チルダが入っていると展開されない。
filereadable(expand("~/.vimrc")) " うまくいく。

そんなわけで、修正版。Vim終了時ににウィンドウサイズと、位置を保存するスクリプト

" save window position and window size {
let s:save_size = '~/.vim/savesize.vim'
au GUIEnter * if filereadable(expand(s:save_size)) | execute 'source ' . s:save_size | endif
function! SaveSizes()
	let x0 = getwinposx()
	let y0 = getwinposy()
	let x1 = &columns
	let y1 = &lines
	execute 'redir! > ' . s:save_size
	echo 'if exists(":winpos") == 2'
	echo "\t:winpos" x0 y0
	echo "endif"
	echo "set columns=" . x1
	echo "set lines=" . y1
	redir END
endfunction
au VimLeave * if has("gui_running") | silent call SaveSizes() | endif
" }

快適〜。