vimでのインデント修正

2011年3月15日 オフ 投稿者: KYO
Table of Contents

vim上で、コピー&ペーストなどを行っていると、よくインデントがズレる。
正規表現や、<<を利用して戻すことも可能だが、そんな面倒なことはしたくない。 ってことで,そういうときの対応方法(聞かれたので)

※vimにもいろんなバージョンがあるので、全てで・・とは言えないかもしれません

 

以下のようなソースがあった場合(ソースはてきとーです)

「あー、あるある!」って思って頂ける方向け

<?php
$str = 'hoge';
for($i=0; $i<10; $i++){
echo $str; echo $str;
echo $str;
}
?>


解決方法1:

コピペの前に、nosmartindent, noautoindent, nocindentなどをやる(これが面倒)

解決方法2:

手作業で、<<や、行指定での<<、正規表現での置換など・・力業でがんばる

 解決方法(おそらく、これが最速)

  1. 2行目まで移動
  2. Shift+vキーを押下
  3. 9行目まで移動
  4. =キーを押下
  5. 感動するはず

とにかくマウスを使うのが嫌いで(なくなればいい!くらいに思ってる)、キーボード操作のみが多いのでvimをかなり多様してましたが、Visualモードもあなどれない。