試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

C/MigemoのUbuntu向け自作パッケージにおけるvim-addon-manager関係のメモ

以前「C/Migemo(バージョン1.3c MIT版)のUbuntu向けパッケージを作成」のときにC/MigemoUbuntu向けパッケージを作成したが、Vim向けのプラグインを直接システムのVimのバージョン番号付きのプラグインディレクトリに入れており、10月にアップロードした11.10向けのパッケージの配置が無効な場所となってしまっていることに気付いた上、パッケージ検証ツールのLintianからも「vim-addon-within-vim-runtime-path」という警告が出る状態だったので、パッケージの(作成における)ポリシー的にも正しい配置へと変更することになった。

  1. 配置ディレクトリ
  2. vim-addon-managerを用いる
    1. 状態の表示
    2. インストール
    3. 削除

配置ディレクト

パッケージにおける正しいアドオン(.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