Hack #189: Emacsのプラグインに対応するVimプラグイン
Posted at 2010/12/17ツイート
Vim使いのなかには、様々な理由によりEmacsから乗り変えてきた人も多いかと思います。しかしEmacsからVimに乗り換えようとする場合、キーバインドの違いもさることながら、自分が今まで使っていたEmacsのプラグインと対応するVimのプラグインにはどのようなものがあるか、についてはほとんど情報がありません。ここではEmacsのプラグインと対応するVimプラグインを紹介します。
anything.el≒FuzzyFinder, ku.vim, unite.vim
anything.elとはインタフェースを統一するプラグインです。 「Emacsテクニックバイブル」にて大々的に紹介され、Emacsのキラープラグインとして名高いです。 Vimにも当然それに相当するものが複数存在します。 FuzzyFinderはns9tksさんが開発したプラグインで、高機能なことが特徴です。 Fuzzyと名前についているだけに、候補の曖昧検索ができます。学習機能と複雑なアルゴリズムにより、最適な候補を簡単に選択することが可能です。 FuzzyFinderで開けるsourceは、バッファ、最近使ったファイル、タグなどです。ただし、それぞれのsourceを同時に検索することはできません。 一年ほど開発が止まっていたのですが、最近になって更新が再開されたようです。今後も目が離せません。 ku.vimはVim界の神ことkanaさんが開発したプラグインです。 FuzzyFinderのように曖昧検索もできますが、標準ではタグ検索ができないなど、機能はFuzzyFinderよりも少ないです。 しかし、ku.vimの魅力は豊富な拡張性とユーザーが自由にsourceを追加できることにあります。 anything.elのように、sourceを統合できるku.vim Ver.0.3というものが開発されていて、私も以前使っていたのですが、最近は更新されていないので残念です。 unite.vimは筆者が開発したプラグインで、今までのanything系プラグインを統一することを目指しています。 Vimの補完を使わず自前で検索などを実装していること、Normal mode/Insert modeの両方に対応、sourceの統一、豊富なカスタマイズ、複数候補のマークが特徴です。 sourceを追加すればタグ検索も可能です。最近までマイナーでしたが、徐々にユーザーの数が増えてきています。
dired.el, wdired.el≒netrw, vimfiler
dired.elはEmacsに標準で添付されているファイラーです。
必要十分な機能は揃っていて、情報も多いので人気があります。
ただし、設定しないと標準では使いづらいです。
Vimに標準添付のファイラーとしては、netrwというものがあり、:Explore
で立ち上げることができます。
こちらもシンプルなファイラーで、kanaさんのように普段から愛用する人もいるようです。
しかしファイル操作という観点からいうと、netrwは使いにくいです。
ディレクトリ毎にバッファが残ってしまうのも難点で、私は好きじゃありません。
よって、私が開発したのがvimfilerです。
Windowsで有名な二画面ファイラーである、あふのような操作感を目標にしています。
二画面ファイラーですが、一画面でも普通に使えます。
ただしnetrwに実装されている、リモートファイルや圧縮ファイルのアクセスはまだ実装されていません。
ネットワークドライブへのアクセスは可能です。
eldoc.el≒echodoc
eldoc.elはエコーエリアに関数の引数を表示させることができるプラグインです。 これと同様なものとして、私はechodocを開発しました。 現在neocomplcacheが対応しています。 eldocのように対応プラグインが自由に機能を追加できるのですが、難点として、まだドキュメントがありません。
org-mode.el≒howm-mode.vim, QFixHowm, VimOrganizer
org-modeはEmacs用のドキュメント編集環境です。あの「るびきち」さんがEmacsテクニックバイブルの執筆に使っていたほどの機能を持ちます。 メモ書きだけなら、howm-mode.vimというものがあります。QFixHowmはより高機能のようです。howm-mode.vimは更新が止まっていますが、QFixHowmはまだメンテナンスされています。 長らく、Vimにはorg-modeのようなものは存在しなかったのですが、最近になりVimにおけるorg-modeクローンが現れました。それがVimOrganizerです。 このヘルプを見れば分かるとおり、かなり高機能のようです。
auto-complete.el≒AutoComplPop, neocomplcache
Emacsの自動補完としては、m2ymさんが開発したauto-complete.elが有名です。これはどうやら、Vimの補完ウインドウを参考にして作られたようです。 Vimで対応するプラグインとしては、AutoComplPopとneocomplcacheが挙げられます。 これらの詳細については、他のHacksで散々やってきたのでここでは触れません。
shell-mode.el, comint-mode.el, eshell-mode.el ≒vimproc, vimshell
shell-mode.elはEmacs内でシェルを起動するプラグイン、eshell-mode.elはEmacsでシェルを模倣するプラグイン、comint-mode.elは外部インタプリタと通信するプラグインです。
eshell-mode.elは外部シェルに依存しないため、貧弱なシェルしかないWindowsでも使えます。
残念ながら、Vimにはshell-mode.elに相当するようなものはありません。
しかし、eshell-mode.elに相当するvimshellがあるので代用できます。当然外部のシェルに依存しないので、Windows環境でも動作します。
iexeコマンドや:VimShellInteractive
を使うとシェルを起動することもできます。
vimprocは外部コマンドと通信するためのプラグインです。コマンドラインのパーサを内蔵しており、vimshellが依存しています。
Windows環境でも動作しますが、使用するためにはコンパイルが必要です。
ansi-term.el, multi-term.el ≒Conque, vimshell
ansi-term.elやmulti-term.elはEmacs内で端末を模倣するプラグインです。 シェルプログラムを起動することで、shell-mode.elの代わりになります。 動作はあまり高速ではありませんが、根強い人気があるようです。 Vimで動作する端末のプラグインとしては、Conqueとvimshellが挙げられます。 Conqueは端末を模倣するためのプラグインです。EmacsやVimが内部で動作するなど、それなりに完成度が高いです。 ただし、プラグインの構造はごちゃごちゃしています。動作にはPythonインタフェースが必要で、Windowsでは動作しません。 vimshellは本来シェルを模倣するプラグインですが、端末機能を内蔵しているため、texeコマンドを用いてcursesプログラムを実行することができます。 ただし、まだ動作は不完全です。 Windowsでtexeを動作させるためには、fakecygptyとCygwinのインストールが必要です。 詳しくはヘルプを参照してください。
Shougoもどる
blog comments powered by Disqus