C/MigemoのUbuntu向け自作パッケージにおけるvim-addon-manager関係のメモ
以前「C/Migemo(バージョン1.3c MIT版)のUbuntu向けパッケージを作成」のときにC/MigemoのUbuntu向けパッケージを作成したが、Vim向けのプラグインを直接システムのVimのバージョン番号付きのプラグインディレクトリに入れており、10月にアップロードした11.10向けのパッケージの配置が無効な場所となってしまっていることに気付いた上、パッケージ検証ツールのLintianからも「vim-addon-within-vim-runtime-path」という警告が出る状態だったので、パッケージの(作成における)ポリシー的にも正しい配置へと変更することになった。
配置ディレクトリ
パッケージにおける正しいアドオン(.vimファイル)の配置ディレクトリは/usr/share/vim/addons/plugin/以下となる。ただし、ここにファイルを入れただけではVimから使うことはできない。
vim-addon-managerを用いる
/usr/share/vim/addons/plugin/に配置されたアドオンは、vim-addon-managerというツールを用いて、各一般ユーザが(一般ユーザの権限で)各アドオンを使用するかしないかを選択できる仕組みになっている。アドオンを提供するパッケージはvim-addon-managerに依存するようにする。
状態の表示
内部コマンドstatusを実行すると、/usr/share/vim/addons/plugin/内に存在するアドオンとその状態を一覧表示する。今回修正済みのパッケージ「vim-cmigemo」をインストールすると、内部コマンドstatusで「migemo」が表示されるようになる。
(下の表示は他のアドオンパッケージのインストール状況などによって異なる) $ vim-addons status # Name User Status System Status editexisting removed removed justify removed removed matchit removed removed migemo removed removed
「Name」に表示されている文字列は、以下の操作における対象を示す引数として用いることになる。
インストール
内部コマンドinstallでアドオンの名前を指定することで、引数のアドオンがVimから使用可能な状態になる。$ vim-addons install migemo Info: installing removed addon 'migemo' to /home/[ユーザ名]/.vim
状態を再び確認すると
$ vim-addons status # Name User Status System Status editexisting removed removed justify removed removed matchit removed removed migemo installed removed
ユーザの「migemo」が「installed」(インストール済み)となっている。
ファイルとしては[ホームディレクトリ]/.vim/plugin/以下にアドオンの.vimファイルへのシンボリックリンクが作成されている。
削除
内部コマンドinstallでインストールしたアドオンを削除するには内部コマンドremoveで名前を指定する。$ vim-addons remove migemo Info: removing installed addon 'migemo' from /home/[ユーザ名]/.vim