vimで行末のタブやスペースの空白を削除する方法

提供: neovim/vim入門
2017年6月8日 (木) 22:28時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「テキストファイルの行末に、不要な'''タブ'''や'''スペース'''を削除したい場合があります。vimの正規表現で簡単に削除でき...」)

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

テキストファイルの行末に、不要なタブスペースを削除したい場合があります。vimの正規表現で簡単に削除できます。やり方をいくつか紹介します。

読み方

正規表現
せいきひょうげん

概要

テキストを編集しているときに、行末に、不要なタブやスペースが入っていることに気が付き、削除したいことがあります。テキストファイル中の至る所の行末に、タブやスペースがいくつも入っている場合、1つ1つ消して回るのは、骨が折れます。

そのようなときに、スマートに対応する方法として、正規表現を利用した置換があります。

ここでは、不要なブランクを簡単に削除する方法をいくつか紹介します。

行末のタブやスペースを削除するコマンド

文字クラス \s を利用して、タブやスペースを簡単に削除できます。

:%s/\s*$//

行末のスペースだけを削除するコマンドは、以下の通りです。

:%s/ *$//

行末のタブだけを削除するコマンドは、以下の通りです。

:%s/	*$//

自動で削除する方法

ファイルを保存する直前で、行末の空白を削除します。 プログラムを編集して、保存するときに、有効です。 以下の例では、C言語(*.c)と python のコード (*.py) のときに、実行されます。

aug space
    au!
	autocmd BufWritePre *.c,*.py :%s/\s\+$//e
aug END

拡張子の指定をこのようにすることもできます。

autocmd BufWritePre *.{c,h,cpp,cc,py,pl} :%s/\s\+$//e

関連項目




スポンサーリンク