「vimで行末のタブやスペースの空白を削除する方法」の版間の差分

提供: neovim/vim入門
移動: 案内検索
(ページの作成:「テキストファイルの行末に、不要な'''タブ'''や'''スペース'''を削除したい場合があります。vimの正規表現で簡単に削除でき...」)
 
 
行42: 行42:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== 関連項目 ==
 
== 関連項目 ==
 +
* [[vimの検索と置換]]
 
* [[vimの文字列置換で置換後の文字列に改行を含める方法]]
 
* [[vimの文字列置換で置換後の文字列に改行を含める方法]]
 
* [[vimで改行だけの空行を削除する方法]]
 
* [[vimで改行だけの空行を削除する方法]]

2017年6月10日 (土) 13:05時点における最新版

テキストファイルの行末に、不要なタブスペースを削除したい場合があります。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

関連項目