マルチモニタ環境で、セカンドモニタにVimを開いた状態で:tabe
とか:vsp
するとメインモニタにVimが何故か強制的に移動してしまい困っていました。それを見事解決できたのがこちらのVim Script。
Vim-users.jp – Hack #120: gVim でウィンドウの位置とサイズを記憶する
このスクリプトを.gvimrcに書き込んでおけば、$HOMEに.vimwinposというファイルが作られそこに前回Vim終了時のウィンドウのX座標、Y座標、横幅、縦幅が保存されます。
1点気をつけるべき点がありました。.gvimrc内にtransparency
オプションの設定がしてある場合、それより後に書かないとウィンドウの位置が強制的にメインモニタ内に移動してしまいます。
(理由は定かではありませんがtransparency
オプションが使用するWindowsの描画機能の影響・・・?)
これを回避できれば全く問題なしです。ありがとうございました!