LoginSignup
9
8

More than 5 years have passed since last update.

Virtual-Replace

Last updated at Posted at 2014-01-16

本記事は Vim Advent Calendar 2013 の 47 日目の記事です。
46 日目は @zoncoen さんによる、Unite-autojumpをつくった でした。

今回は地味に便利なあの機能です。

まとめ

:help gR
:help Virtual-Replace-mode

よくある話

あなたが不幸にも以下のようなコメントに出会ってしまったとします。

/********************************************/
/*                                          */
/*  関数の処理:                             */
/*              2014年1月16日 氏名          */
/*                                          */
/********************************************/

もちろん空白部分は全てハードタブです。
または、以下のようにスペースで整形された表組みを編集するような場合もあるかもしれません。

|         |         |         |
|---------|---------|---------|
|         |こ↑こ↓   |         |
|---------|---------|---------|
|         |         |         |

これを置換 R で書き換えようとすると文字幅の差によって、悲しみがあります。

/********************************************/
/*                                          */
/*  関数の処理:    process*/
/*              2014年1月16日 氏名         */
/*                                          */
/********************************************/
|         |         |         |
|---------|---------|---------|
|         |here |         |
|---------|---------|---------|
|         |         |         |

悲しみです。

Virtual-Replace

Vim には Virtual-Replace-Mode というものがあり、gR で開始します。
これは文字幅・タブ幅を維持したまま置換を行ってくれます。

※イメージ図
/********************************************/
/*                                          */
/*  関数の処理: function process            */
/*              2014年1月16日 氏名          */
/*                                          */
/********************************************/
※イメージ図
|         |         |         |
|---------|---------|---------|
|         |here!    |         |
|---------|---------|---------|
|         |         |         |

余談

g プレフィックスのキーバインドには色々と便利な機能があります。
gj gk に始まり、ga gd gf などです。個人的なお気に入りは
g<C-]> です。ぜひ試して使いこなしてみてください。

余談 2

Virtual-Replace、かっこいいですよね。響きが。私だけかもしれません。

以上 Vim Advent Calendar 2013 47 日目の記事でした、次回 48 日目は未定です。
Vim Advent Calendar 2013 では執筆者を募集しています。あと 318 人書けますので、どんどんやっていきましょう。以上です。

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8