2010/02/04

Recent entries from same category

  1. Software Design 2018年7月号「Vim 絶対主義」の執筆に参加しました。
  2. Vim の :terminal の中から外の Vim を操る方法
  3. Vim と日本語入力の話。
  4. Windows で子プロセスの標準入出力バッファリングを無効にする
  5. Vim で端末機能が動くようになった。

これまでvimスクリプトをインストールするには、vim onlineでダウンロードして、書いてあるインストール手順に従って、時にはそのまま、時にはzipを解凍して.vim(windowsならvimfiles)に自前でコピーするのが一般的でした。おそらく自動化されている方もいるかもしれませんが、特有のスクリプト専用の更新ツールくらいかと思います。
Perlを知っている方ならばCPAN、rubyを知っている方ならばgemにあたる物がvimには無かったんです。
配布物が統一されていない為、無理だろうな...とも思ってました。
が、そこに登場したのがVimana(Vim script manager)です。
Vimana(3)             User Contributed Perl Documentation            Vimana(3)



NAME
       Vimana - Vim script manager.

DESCRIPTION
       Vimana is an easy to use system for searching , installing, and
       downloading vim script.

       Vimana provides a command-line interface such like "aptitude" programe
       on Debian linux, for you to search , download , install , upgrade
       scripts from <http://www.vim.org> (vimonline site).

       Vimana can install a vim script package to your vim runtime path
       automatically by inspecting the content of archive file or vim script.
       for example , if an archive file contains 'syntax','plugin','indent'
       directory , then these files should be installed to _______ directory.
       if it's a vim color scheme , then it should be put into ______________
       and prompt for setting the installed colorscheme as default.

       We plan to provide port files via git repository, vimrc customization
       and internationalization in future.

       ( In some modern Indian languages, vimXna or vimXn means "aircraft". )

       NOTE: Vimana only provides search,info,install commmands currently.

       * Getting started from Vimana::Manual.
c9s's Vimana at master - GitHub

Vimana is an easy to use system for searching , installing, and downloading vim script. Vimana provides a command-line interface such like aptitude programe on Debian linux, for you to search , download , install , upgrade scripts from http://www.vim.org (vimonline site).

http://github.com/c9s/Vimana
Vimanaはc9s(Cornelius)さんが作っているPerlスクリプトで、vimスクリプトの検索、情報表示、インストール、ダウンロード、削除が行えるツールです。vimスクリプトは拡張子がvimというだけで、一見そのスクリプトが単なるpluginなのか、はたまたsyntaxなのか、ftpluginなのか分かりません。さらに~/.vim以下の構造になっていればそのまま上書き出来るのですが、中にはvimスクリプトのみ配布されている物もあります。Vimanaはそれをパースして適当なフォルダにインストールしてくれます。
インストールは以下の様に行います。
# git clone git://github.com/c9s/Vimana
# cd Vimana
# perl Makefile.PL
# make
# make test
# make install
ご覧頂ければ分かる様にPerlで出来ています。これでvimanaコマンドがインストールされます。詳しい使い方は
# perldoc Vimana::Manual
を参照して下さい。簡単な使い方は以下の通りです。
# vimana update
まずインデックスを更新します。そして「gist」というキーワードで検索してみます。
# vimana search gist
regview.vim          - Interactively browse register contents
filetyperegisters    - Localize register contents based on filetype
stackreg             - Vz-like stackable registers
regredir.vim         - Vim plugin to redirect command output into a register
regreplop.vim        - operator to replace motion/visual with a register
registryedit         - Edit the win32 registry through vim.
clipbrd              - Clipboard and other register content editor.
fakeclip             - pseudo clipboard register for non-GUI version of Vim
destructive-paste    - Pastes the register, replacing text
tregisters           - List, edit, and run/execute registers/clipboards
operator-replace     - Operator to replace text with register content
gist.vim             - vimscript for gist
replacewithregister  - Replace text with the contents of a register.
サマリ一覧されて便利ですね。次に手前味噌ですが「gist.vim」をインストールしてみましょう。
# vimana install gist.vim
Plugin will be installed to vim runtime path: /home/mattn/.vim
Canonical name: gist.vim
Downloading from: http://www.vim.org/scripts/download_script.php?src_id=12283
Saving file to /tmp/vimana-imqqdp/gist.vim
Inspecting file content for script type.
Script type found: plugin.
Installing..
Copying /tmp/vimana-imqqdp/gist.vim to /home/mattn/.vim/plugin
Installation Done.
簡単すぎます。
ちなみにpluginフォルダ構成になっているスクリプトでも問題なくインストール出来ます。必要なくなったら
# vimana remove gist.vim
とすればアンインストールもやってくれます。
すばらしい... c9s++
こういうのが欲しかったんだと思いました。

実は今日、c9sさんからVimanaのcommit権を貰いました。もちろんWindowsにポーティングさせて頂きました。
メインブランチにはまだ入っていませんが、windowsブランチに入っています。興味のある方はぜひインストールしてみてください。

なおc9sさんは台湾の方です(英語は話せますが)。もしVimanaについて要望などあれば私が日本語窓口させて頂きます。


blog comments powered by Disqus