« Javaの型変換 | トップページ | テンプレート・エンジンが好きになれない。 »

2009年7月28日 (火)

VIMでマッチしているHTMLタグやrubyの対応するdo endにカーソルを移動させる。

VIMでよく知られている機能にノーマル・モード時に%を入力すると対になった()や{},[]の間をカーソルがjumpできる機能がある。
ただ、この機能はrubyのdo~endやHTMLの<div></div>のようなタグには対応していない。そこで便利なのがmatchit.vimというプラグイン。
実際:help %とヘルプを出すと、下記のように本家本元のヘルプにも記述されているぐらいのお墨つきのプラグインなのだ。
For other items the matchit plugin can be used, see
            |matchit-install|.

matchit.vimのインストール方法

  1. http://www.vim.org/scripts/script.php?script_id=39 から最新のmatchit.zipをダウンロード
  2. 1.でダウンロードしたzipファイルを展開し、展開してできたdocとpluginのディレクトリをVIMをインストールしたディレクトリの配下にあるruntimeというディレクトリ(vim上で:echo %VIMRUNTIMEで表示されるパス)の下にコピー(docとpluginというディレクトリはすでにあるので、そのディレクトリに対して上書きコピー)
    以上

もしヘルプファイルを更新する場合は、vim上で下記のコマンドを実行
:helptags $VIMRUNTIME/doc

HTMLやRubyだけでなく、LaTeX, Lua,Vimスクリプト、VBスクリプト
にも対応しているらしく、初めてmatchitをインストールした人は絶対
「おぉー」て感動するはず。
ただ、欠点もあって、拡張子が.htmlのファイルの中のJavaScriptの{}、()の
%の対応が効かなくなる。拡張子が.jsの場合は問題ないのだが。
おそらく拡張子によって、マッチングさせるキーワードを変更しているのだろう。

2009.08.25 追記
machit.vimはVim6.0以上は最初から添付されているので、わざわざ上記の
URLから取ってきてインストールする必要はない。
.vimrc等に
source $VIMRUNTIME/macros/matchit.vim
の記述をすれば、OK

!注意 
vimrcに記述せず、:source $VIMRUNTIME/macros/matchit.vim
を実行した場合は、今開いているバッファに対しては有効にならないため、
:eなどで再度ファイルを読み込みなおす必要がある。

また、最初から添付されているmatchit.vimの場合は拡張子がhtmlでも
JavaScriptの(),{}等の移動がサポートされている。

|

« Javaの型変換 | トップページ | テンプレート・エンジンが好きになれない。 »

vim」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: VIMでマッチしているHTMLタグやrubyの対応するdo endにカーソルを移動させる。:

« Javaの型変換 | トップページ | テンプレート・エンジンが好きになれない。 »