最近の更新

関連


その他いろいろ

多機能フィードリーダSynapse製作中

2月までは目が回るほど忙しい

MODxでつくる! 最強のCMSサイト カバー
MODxでつくる! 最強のCMSサイト

GVim7 for Win32 background image patch

Windows GVim7の背景にビットマップを表示する
初出:2007年11/24 更新:2007年11/27

この文書のキーワード: Patch

Vim背景画像(bitmap)パッチ

Windows GVim7の背景にビットマップを表示するパッチ。 Vim6.2向けに書かれたタイル表示パッチを大いに参考にしています。 20071124_2からセンタリングに対応し、メモリ馬鹿食い(5MBくらい)する代わりに少し早く綺麗になりました。

20071127版でセンタリングのバグ修正、バイナリはKaoriYa 20071028版にパッチを当てました。注意 一時期バイナリが間違っていたかもしれません。27日にダウンロードされた方は念のためアップデートしてください。

This is a patch and a binary executable for GUI Vim 7.1 on Win32 to draw background images (.bmp) tiled/scaled/dot-by-dot on its textarea. A background image tiling patch for Vim6.2 by jbrowse.com helped me a lot.

スクリーンショット

dbd 1等倍/アスペクト比固定/左中央寄せ dbd 2等倍/アスペクト比固定/中央寄せ
stretch 1伸縮 stretch 2伸縮/アスペクト比固定/左上寄せ
stretch 3伸縮/アスペクト比固定/右下寄せ tileタイル表示

追加したオプション(すべてグローバル)

bgi, backgroundimage
背景画像へのフルパス(拡張子付き)、もしくは$VIMRUNTIME/bitmaps/からの相対パス(拡張子抜き)。
set bgi=background($VIMRUNTIME/bitmaps/background.bmp)、set bgi=D:\images\vimbg.bmpなどと指定します。
set bgi=で背景画像表示をoffにします。
bgid, backgroundimagedisplay
画像の表示方法。set bgid=drba等と指定します。詳しくは以下。
bgis, backgroundimagesize
計算量短縮の為に、あらかじめ背景画像をタイル化して内部で保持していますが、その最大サイズ(実際には背景画像の大きさの倍数に拡張されます)を指定。
例えばset bgis=1280x1024のようにxかカンマで区切ります。ディスプレイのサイズにしておけば表示が狂いません。

bgid (表示方法のフラグ)詳細

T/d/s、l/c/r、t/m/bはそれぞれ排他です。

T
タイル表示 / Tiling
d
1:1表示、必要なら拡大 / Dot by dot, or scale to window(larger)
s
ウィンドウの大きさに合わせる / Scale
a
縦横比を保持 / keep Aspect ratio
l
画像とウィンドウの左辺を合わせる / Left adjusted
c
画像を水平方向に中央寄せする / Centering (Horizontal)
r
画像とウィンドウの右辺を合わせる / Right adjusted
t
画像とウィンドウの上辺を合わせる / Top adjusted
m
画像を垂直方向に中央寄せする / Middle (Vertical)
b
画像とウィンドウの下辺を合わせる / Bottom adjusted

ダウンロード

unified diffパッチ、適用済みgvim7.1バイナリがあります。

更新日ダウンロード概要
20071127gvim71_kaoriya20071028_bgi20071127.diffunified diff from gVim Kaoriya20071028
20071127gvim71_kaoriya20071028_bgi20071127.exegVim7.1 + KaoriYa20071028 + bgi20071127 binary
20071124 (2)bgi_patch_vim71_20071124_2.diffunified diff
20071124 (2)gvim71_bgi20071124_2.exegVim7.1 + bgi20071124_2 binary
20071124bgi_patch_vim71_20071124.diffunified diff
20071124gvim71_bgi20071124.exegVim7.1 + bgi20071124 binary

パッチの適用方法

以下にCygwin用のmakeの手順を示します。

  1. vim.org等からWindows向けのvim7.1ソースコードを入手。
  2. 展開して、srcの置いてあるディレクトリで
    $ patch -p0 < bgi_patch_vim71.diff
    として適用。
  3. make。
    $ make -f Make_cyg.mak GUI=yes gvim.exe

バイナリの使用方法

vim.orgもしくはKaoriYa(推奨)からWindows用Vim7.1最新版を入手し、展開して作成されたgvim7.exeを当ページからダウンロードしたgvim71_*.exeで上書きします。

tips

オプションのsetが直接gvimrcに書くかれていると、パッチの当たっていないvimで読み込んだ場合エラーになります。パッチが適用されていればhas("bgi")が1になるので、

if has("bgi")
  set bgi=background
  set bgid=drba
  set bgis=1680,1050
endif
とすると良いでしょう

更新履歴

v20071127
中央寄せ(c,m)で位置がずれることのあるバグを修正
v20071124_2
中央寄せ
v20071124
背景表示
リンク
Vim
総本山
KaoriYa.net
日本語版Vim配布元。20071127はKaoriYa版ベースです。
jbrowse.com
Vim6.2用タイル表示パッチの作者

todo

本パッチは非公式なものです。問い合わせなどはuglydog.7bit[at]gmail.comまでお願いします。