vimで保存時に不要な行末スペースを削除する

概要

.vimrcに以下のコマンドを追加すると、ファイル保存時に、不要な行末スペースを自動で削除してくれる。

autocmd BufWritePre * :%s/\s\+$//ge

解説

autocmdは、vimで特定のタイミングで何らかのコマンドを実行させるコマンド。

第一引数に指定している”BufWritePre”は、コマンド実行のタイミング指定で、ファイルを保存する直前を意味する。他にもファイル保存直後や、新規ファイル作成時などのトリガがある。

第二引数”“は、対象となるファイル名のパターンを表す。例えばtxtファイルでのみ適用したい場合、.txtと指定すればよい。今回は全てのファイルにおいて動作させたいので”*”を指定する。

第三引数には、実行するコマンドを記述する。

:%s/\s\+$//ge

を紐解くと、ファイル内の全ての/\s+$/を空文字で置換するという記述で、行末の手前にあるスペースを削除するという意味になる。

以上より、

autocmd BufWritePre * :%s/\s\+$//ge

とvimrcに記述することで、全てのファイル保存時に、ファイル内の不要な行末スペースを削除するという機能をvimに追加することができる。

参考

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です