vimでタブやスペースだけの空白行を削除する方法
提供: neovim/vim入門
スポンサーリンク
vimでは、空白だけで構成される空白行を正規表現で簡単に削除できます。
読み方
- 空白行
- くうはくぎょう
概要
テキストファイルに
- タブだけの行
- スペースだけの行
- スペースとタブだけの行
のような空白行(空白だけで構成される行)を削除したいときがあります。
そんな空行を vim で簡単に消す方法を紹介します。
タブやスペースだけの空白行を削除する方法
タブやスペースだけの行を消すコマンドは以下の通りです。
:g/^\s\+$/d
gはglobalコマンドで、/^\s\+$/ のパターンを探し、マッチした行を コマンド d で削除します。 \s は文字クラスで、改行以外の空白文字にマッチし、スペースやタブなどにマッチします。 vimの正規表現(nomagicモード)では、1以上を表す + は、バックスラッシュでエスケープする必要があり、 \+ となっています。
abc def (タブ)(タブ) ghi jkl (スペース)(タブ) (スペース)(スペース) mno p
みたいなテキストがあったときに、上記コマンドを実行すると
abc def ghi jkl mno p
といった形いなります。
タブやスペースや改行だけの空白行を削除する方法
タブやスペースと改行だけの行を消すコマンドは以下の通りです。
:v/\S/d
もしくは
:g/^\s*$/d
になります。
文字クラスを0回以上マッチとすることで ^$ にもマッチするため、改行だけの行も削除できるようになります。 純粋に 改行だけの行 を削除したい場合は、 vimで改行だけの空行を削除する方法 をご参照下さい。
\s の意味
正規表現にあたる \s とは、改行以外の空白文字にマッチするvimの文字クラスです。
関連項目
ツイート
スポンサーリンク