【Vim】 後ろの空白を一括置換

無駄に混ざる空白

一つ一つ消すのもだるい、でもコードとしては不要なので消したい

コマンド一つで一括置換できるよ、そうvimならね!(大抵のエディタで出来ます)

:%s/ *$//

%s を使って一括置換

%s/[半角スペース]*$//

正規表現はちょっと自信ないんですが、解説をすると%sはvimの文字を置き換えるコマンドです

sed(セド)の頭一文字をとって、sコマンドなんじゃないかなーって勝手に思ってます。

実際のsコマンドの使いかたは、こんな感じ

:%s/置換前文字列/置換後文字列/
追記 置き換える範囲を行で指定する場合

開発あるあるなんですが、末尾の空白を一括で削除したら1000行差分でちゃった☆とかあるって

削除するべきかもしれないんだけど、チェックするのは面倒だったり

実は削除してはいけない記述があって大事故!とか色々あったりするので、置き換え範囲を行指定すると楽ちんでした

:開始行番号,終了行番号s/置換前文字列/置換後文字列/

『$』を置き換えで使うと、指定した文字列で終わる行を置き換える

$ が末尾ということは知っていたのですが、置き換えコマンド使いかたは知りませんでした・・・

置き換えで [スペース]*$ と指定した場合は、末尾が空白という意味になります

参考にしたサイト

arakanoj.com

d.hatena.ne.jp