VSCodeで改行を一括削除する方法について

採用はこちら

VSCode(Visual Studio Code)では、検索・置換機能と正規表現を使うことで、ファイル内にある改行をまとめて削除できます。

文章を1行につなげたい場合や、コピーしたテキストに不要な改行が大量に含まれている場合などに便利です。

基本的には、検索欄に改行を表す正規表現を入力し、置換欄を空欄にして「すべて置換」を実行します。

ここでは、VSCodeで改行を一括削除する基本的な方法から、空行だけを削除する方法、複数ファイルをまとめて処理する方法まで詳しく解説します。

目次

VSCodeで改行を一括削除する基本的な方法

検索・置換を開く

まず、改行を削除したいファイルをVSCodeで開きます。

その後、検索・置換機能を表示します。

Windows・Linuxの場合は、次のショートカットを使用します。

Ctrl + H

macOSの場合は、次のショートカットです。

Option + Command + F

検索・置換欄がエディター上部に表示されます。

正規表現を有効にする

次に、検索欄の右側にある「.*」アイコンをクリックし、正規表現検索を有効にします。

正規表現を有効にすると、通常の文字だけでなく、改行や空白なども特定の記号を使って検索できるようになります。

Windows・Linuxでは、次のショートカットでも正規表現のオン・オフを切り替えられます。

Alt + R

改行を検索する

検索欄に、次の正規表現を入力します。

\r?\n

この正規表現は、一般的なLFとCRLFの両方の改行に対応できます。

置換欄を空欄にする

改行そのものを削除したい場合は、置換欄には何も入力しません。

つまり、次のような設定になります。

検索:
\r?\n

置換:
空欄

最後に「すべて置換」を実行します。

たとえば、次の文章があるとします。

Apple
Banana
Orange

改行を一括削除すると、次のようになります。

AppleBananaOrange

「\r?\n」で改行を検索できる理由

LFとCRLFという2種類の改行がある

テキストファイルでは、環境によって使用される改行コードが異なる場合があります。

代表的なものが「LF」と「CRLF」です。

主に次のように使用されています。

LF    → \n
CRLF  → \r\n

現在ではWindowsでもLFを使用するケースがあるため、OSだけで完全に判断できるわけではありません。

そのため、改行をまとめて検索するときは両方に対応できる書き方が便利です。

「\r?\n」の意味

次の正規表現では、\rの後ろに?が付いています。

\r?\n

?は、直前の文字が「0回または1回存在する」という意味です。

そのため、\rがある場合の、

\r\n

と、\rがない場合の、

\n

の両方に一致します。

VSCodeで改行を一括処理するときは、基本的に\r?\nを使用すると扱いやすいでしょう。

改行を半角スペースに置き換える方法

単語がつながるのを防ぎたい場合に便利

改行をそのまま削除すると、前後の単語がつながってしまうことがあります。

たとえば、次の文章があるとします。

Hello
World

置換欄を空欄にすると、次のようになります。

HelloWorld

英語の文章などでは、単語がつながって読みにくくなります。

その場合は、置換欄に半角スペースを入力します。

検索:
\r?\n

置換:
半角スペース

すると、次のように変換できます。

Hello World

文章を1行につなげる場合には、単純に改行を削除するのか、スペースに置き換えるのかを用途に応じて選びましょう。

空行だけを一括削除する方法

通常の改行を残して空行だけ削除できる

文章の行分けは残しつつ、不要な空行だけ削除したい場合もあります。

たとえば、次のような文章です。

Apple

Banana

Orange

これを次のようにしたい場合です。

Apple
Banana
Orange

この場合は、検索欄に次の正規表現を入力します。

^[ \t]*\r?\n

置換欄は空欄にします。

空行削除の正規表現の意味

それぞれの記号には次の意味があります。

^       → 行頭
[ \t]*  → 半角スペースまたはタブが0文字以上
\r?\n   → 改行

つまり、次の正規表現は、

^[ \t]*\r?\n

「何も入力されていない行」や「スペース・タブだけが入力されている行」をまとめて検索します。

空行だけを安全に削除したい場合に便利な書き方です。

連続する空行を減らす方法

3個以上の改行を2個にまとめる

空行を完全に削除するのではなく、連続する空行だけ整理したい場合もあります。

たとえば、次のように空行が多すぎる文章があるとします。

Apple


Banana



Orange

これを、

Apple

Banana

Orange

のように整理したい場合は、検索欄に次の正規表現を入力します。

(\r?\n){3,}

これは「3個以上連続する改行」を意味します。

置換欄には、改行を2個入力します。

これにより、3個以上続いている改行を2個にまとめられます。

特定の場所にある改行だけ削除する方法

カンマの直後にある改行を削除する

正規表現を使えば、すべての改行を削除するのではなく、特定の条件に一致する改行だけを処理できます。

たとえば、次の文章があるとします。

Apple,
Banana,
Orange

これを次のようにしたい場合です。

Apple,Banana,Orange

検索欄には、次のように入力します。

,\r?\n

置換欄にはカンマだけを入力します。

,

すると、「カンマ+改行」が「カンマ」に置き換わるため、カンマ直後の改行だけを削除できます。

選択した範囲だけ改行を削除する方法

ファイル全体を変更したくない場合に便利

ファイル全体ではなく、一部分だけ改行を削除したい場合は、「選択範囲内を検索」を利用できます。

まず、改行を削除したい部分をマウスやキーボードで選択します。

次に、

Ctrl + H

で検索・置換を開きます。

その後、「Find in Selection(選択範囲内を検索)」を有効にします。

Windows・Linuxでは、次のショートカットでも切り替えられます。

Alt + L

あとは検索欄に、

\r?\n

と入力し、置換欄を空欄にして置換します。

これにより、選択している範囲内の改行だけを削除できます。

複数ファイルの改行を一括削除する方法

ワークスペース全体を検索・置換する

VSCodeでは、1つのファイルだけでなく、プロジェクト内の複数ファイルをまとめて置換することもできます。

Windows・Linuxでは、次のショートカットを使用します。

Ctrl + Shift + H

macOSでは、次のショートカットです。

Shift + Command + H

検索欄に、

\r?\n

を入力して正規表現を有効にし、置換内容を指定します。

ただし、複数ファイルに対する改行削除には注意が必要です。

プログラムや設定ファイルでは、改行そのものが構文やデータ構造に影響している場合があります。

特に、Python、YAML、Markdown、シェルスクリプトなどでは、改行を削除することで正常に動作しなくなる可能性があります。

複数ファイルをまとめて置換するときは、変更内容を事前に確認し、可能であればGitなどで元の状態に戻せるようにしておきましょう。

正規表現を使わずに改行を検索する方法

検索欄へ実際の改行を入力する

VSCodeでは、検索欄や置換欄に複数行の文字列を入力することもできます。

検索・置換欄で、

Ctrl + Enter

を押すと、改行を入力できます。

そのため、実際の改行を含む文字列を検索し、別の文字列に置換する方法もあります。

ただし、大量の改行をまとめて削除するだけであれば、

\r?\n

を使った正規表現検索のほうが簡単です。

改行と折り返しの違いに注意する

Word Wrapは実際の改行ではない

VSCodeでは、長い行が画面の端で自動的に折り返されて表示されることがあります。

これは「Word Wrap」と呼ばれる機能です。

たとえば、画面上では2行に見えていても、ファイル内部では1行のままというケースがあります。

Word Wrapによる折り返しは実際の改行ではないため、

\r?\n

で検索してもヒットしません。

Windows・Linuxでは、

Alt + Z

macOSでは、

Option + Z

でWord Wrapのオン・オフを切り替えられます。

「改行を削除したのに複数行のまま表示されている」という場合は、Word Wrapが有効になっていないか確認してみましょう。

VSCodeでよく使う改行削除の正規表現

用途別に使い分ける

VSCodeで改行を処理するときによく使う正規表現をまとめると、次のようになります。

やりたいこと検索置換
すべての改行を削除する\r?\n空欄
改行を半角スペースに変える\r?\n半角スペース
空行だけ削除する^[ \t]*\r?\n空欄
3個以上の連続改行を2個にする(\r?\n){3,}改行2個
カンマ直後の改行を削除する,\r?\n,
CRLFを明示的に検索する\r\n用途に応じて指定
LFを明示的に検索する\n用途に応じて指定

基本的な改行削除であれば、まずは、

\r?\n

を覚えておけば十分です。

VSCodeで改行を一括削除するときの注意点

置換前に内容を確認する

「すべて置換」は、一度に大量のテキストを変更できる便利な機能です。

一方で、意図しない改行まで削除してしまう可能性があります。

特にソースコードや設定ファイルでは、改行が重要な意味を持つ場合があります。

実行前に検索結果を確認し、対象が正しいかをチェックしましょう。

日本語と英語で置換方法を使い分ける

日本語文章では、改行を削除するときに置換欄を空欄にするほうが自然な場合があります。

たとえば、

これは長い
文章です。

を、

これは長い文章です。

とできます。

一方、英語では空欄に置換すると、

HelloWorld

のように単語がつながる場合があります。

そのため、英語文章では半角スペースへの置換が適しています。

まとめ

VSCodeで改行を一括削除したい場合は、検索・置換機能と正規表現を組み合わせる方法が便利です。

最も基本的な操作は次のとおりです。

1. Ctrl + Hで検索・置換を開く
2. 「.*」を有効にして正規表現検索へ切り替える
3. 検索欄に \r?\n と入力する
4. 置換欄を空欄にする
5. 「すべて置換」を実行する

これだけで、LFとCRLFの両方を含む一般的な改行をまとめて削除できます。

また、改行をスペースへ置き換えたり、空行だけを削除したり、特定の条件に一致する改行だけを処理したりすることも可能です。

VSCodeの正規表現検索を活用すれば、大量のテキストでも効率よく改行を整理できます。

以上、VSCodeで改行を一括削除する方法についてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次