Vim の :substitute をプレビューするプラグインつくった
この記事は Vim Advent Calendar 2012 340日目の記事になります。
Vim Advent Calendar 2013 の募集も開始しました。
興味のある方はぜひご参加下さい。
- 元ネタ:
※一部加工
http://lingr.com/room/vim/archives/2013/11/02#message-17257647
- 参考
http://d.hatena.ne.jp/tarao/20130303/evil_intro#usage-vim
http://blog.supermomonga.com/articles/vim/taiwa.html
http://d.hatena.ne.jp/thinca/20131104/1383498883
上記のように Evil では :substitute 時に {pattern} と {string} をハイライトしてプレビューする事ができます。
これを Vim でやってみたかったんです。が、ぶっちゃけ完全に同じものをつくるのは無理でした。
なので、色々と制限付きではありますが、それっぽいものを作ってみました。
[使い方1:コマンドラインウィンドウを使用する]
コマンドラインウィンドウで :substitute を入力するとバッファの {pattern} がハイライトされます。
こちらを使用する場合、{string} のプレビューは行われませんが副作用は殆どなく、使い勝手もよいです。
[使い方2::OverCommandLine]
:OverCommandLine を使用します。
これは over.vim 独自のコマンドラインになります。
このコマンドラインを使用すると {pattern} のハイライトと {string} のプレビューが行われます。
ただし、独自のコマンドラインなので以下のキーマッピングのみが使用できます。
キー | 処理 |
---|---|
コマンドの実行 | |
コマンドラインから抜ける | |
レジスタ " の貼り付け | |
1文字削除 |
上記以外のキーマッピング(カーソルキーで移動など)は使用できません。
なのでコマンドラインウィンドウよりも使い勝手は悪いです。
と、いう感じで無理やりですがやってみました。
まぁ実用性があるかと言われると微妙ですが…オサレだからいいよね。
ちなみにコマンドラインで InsertCharPre が使用できればだいたいの問題は解決します。
使いたい。