vim+python

vimsh.vimをfinkパッケージ管理環境下で使用できるようにすることを目的に、fink版のvim(-nox)のコンパイルオプションを変更し、別パッケージ化したので手順を公開する。

Finkを利用しない方法としては、MacPortsを利用するという方法もある。vimに関する問題だけを解決する場合はMacPortsを利用する方がより適切である。

僕の場合は、latex環境の問題でどうしてもFinkを使用する必要があるため、Fink上で解決をする必要が生じたため、Fink上で解決をすることにした。

なお、ぼくの作業環境は下記のような感じである。

MacBook (late2008)

MacosX 10.5.6

Fink 0.28.6

vimsh.vimはvim上で、shellを展開することができるvimプラグインである。

pythonの機能を利用して実装されているため、このプラグインを利用するためには、vimのスクリプトとしてpythonスクリプトが利用できるようになっている必要がある。

しかし、Fink版のvimのコンパイル時のオプションは、vim –versionで確認すると、-pythonとなっており、pythonスクリプトを利用することはできない。

そこで、finkのvim.infoを修正し、コンパイル時のオプションを書き換えた、私家版のFinkパッケージを作成するという方法で解決した。

具体的な手順は以下の通りである。

  1. ローカルの.infoファイルの置き場として、/sw/fink/dists/local/main/finkinfo/editors を用意する。(もし無ければ。)

  2. /sw/fink/dists/unstable/main/finkinfo/editors/ にある、vim.infoを先程のフォルダにコピーする。

  3. 既存のパッケージとの衝突を避けるため、vim.infoを、vim-python.infoにリネームする。

  4. vim-python.infoを編集する。

    • 2行目 vim%type_pkg[-nox] を、vim-python%type_pkg[-nox]に修正。

    • 27行目あたりにある、CONF_ARGS=“–with-gtk-prefix=%p –mandir=%i/share/man –with-prefix=%p”を、CONF_ARGS=“–enable-pythoninterp –with-gtk-prefix=%p –mandir=%i/share/man –with-prefix=%p”という感じに修正。

    • ちなみに、vimの場合は不要だが、必要に応じて、Conflicts: 、Replaces: 、Provides: も修正が必要となる。(vimを例にすると)具体的には、以下のような設定になる。

    • Conflicts: vim

    • Replaces: vim

    • Provides: vim

  5. finkコマンドでvim-pythonをインストールする。(sudo fink install vim-python)