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のインストール方法
http://www.vim.org/scripts/script.php?script_id=39 から最新のmatchit.zipをダウンロード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の(),{}等の移動がサポートされている。
| 固定リンク
「vim」カテゴリの記事
- VIMでマッチしているHTMLタグやrubyの対応するdo endにカーソルを移動させる。(2009.07.28)
- vimで特定のファイルの特定行に飛ぶ(2009.06.26)
- windowsでるりまのrefeをrefe.vimで使う(2009.06.04)
- vimの矩形選択を便利にする(2009.06.04)
- rails.vim pathには "app/models/blog.rb" というファイルがありません(2009.05.18)
この記事へのコメントは終了しました。
コメント