mingw-gvim-transparency を作った話
この記事は、Vim 2 Advent Calendar 2020 23日目の記事になります。
mingw-gvim-transparency って?
mingw-gvim-transparency とは、Windows 向けUnixライク環境であるmsys2に内包されている、mingw-w64 で動作する、gVim で、KoRoNさんの背景透過パッチが適用されてます。
何が嬉しいの?
pacman で管理できる
msys2 のパッケージは ArchLinux でおなじみの pacman コマンドで管理されています。
つまり、ArchLinux の資産をほぼそのまま利用できるわけです。
最近はWSLに活躍の場を奪われてますが、msys2および mingw-w64 でビルドしたバイナリはWindows のバイナリなので、日の目を見ることもあると思います。
+python3 等で困らない
Vim Plugin で時たま使用されている、言語拡張があるのですが、Windowsの場合、python3 をインストールしても、そのままだとエラーになって、使用できなかったりします。
mingw-gvim-transparency はその点、mingw-w64 のパッケージを依存にしているので、確実に使用できるようになってます。
使い方
リポジトリのREADMEに英語で記載済みですが、こちらに日本語で記載します。
/etc/pacman.conf
に以下を追記します。
[mingw-raa0121]
Server = https://github.com/raa0121/mingw-gvim-transparency/releases/latest/download
SigLevel = Never
そして、pacman -Sy
でリポジトリ一覧を更新して、pacman -S mingw-w64-x86_64-gvim-transparency
でインストールです。i686
のパッケージを使用したい場合は、x86_64
を i686
に読み替えてください。
また、環境変数を設定する必要があります。
msys2 の bash から x86_64
のパッケージを使用する場合は、
VIM=/mingw64/share/vim
VIMRUNTIME=/mingw64/share/vim/runtime
i686
のパッケージを使用したい場合は、64
を 32
に読み替えてください。
Windows の cmd 等からx86_64
のパッケージを使いたい場合は、
VIM=C:\msys64\mingw64\share\vim
VIMRUNTIME=C:\msys64\mingw64\share\vim\runtime
同じく i686
のパッケージを使用したい場合は、64
を 32
に読み替えてください。
今後
mingw-gvim-transparency はビルド後のテストを実施していないです。Windows での gvim のビルドがコケやすいという状態のようで、最近改善されたようなので、手が空いたときに着手したいです。
また、msys2/mingw-w64 向けのパッケージを増やしていきたいところです。
感想・謝辞
このパッケージの計画は2016年7月に、思いつきで初めて、3年以上放置され、Github Actions がリリースされた今年についに目的を達成することができました。毎日最新のVimがビルドされて、 pacman -Syu
で更新できる幸せを噛み締めて日々を生きています。
このパッケージを作るに当たり、vim-jp の slack に参加されている皆さんに感謝しています。特にWindowsのVimのビルド周りに詳しい k-takata さん、動作確認やその他色々を教えていただける mattn さんには頭が上がらないです。ありがとうございます。
Discussion