Sublime Text 2:空白/空の行を削除する方法


271

次の9行のテキストファイルがあるとします。

foo

bar

baz

qux

quux

Sublime Text 2を使用して4行の空白/空の行をすべて削除し、5行のみを残すにはどうすればよいですか?

回答:


658

テキストを選択

押す:

  • Ctrl+ HPCの場合、または
  • Command+ Alt+ FMacまたは
  • 「検索」->「置換」をクリックします。

次のキーを押して、「正規表現」を選択したことを確認します。

  • Alt+ RPCまたは
  • Command+ Alt+ RMacまたは
  • [ .*検索]ボックスをクリックします。

何を見つける: ^\n

置換:(なし、空白のままにします)。


3
うまくいきました、ありがとう!その検索/置換をキーボードショートカットにバインドしたり、すばやくアクセスできるように保存したりする方法はありますか?私はググってみて何も見つからなかった
Nick

46
^(\r|\n\r?)可能なすべての改行をカバーするための小さな提案の使用。
Haris Krajina

5
私にとって(Sublime Text 2)のショートカットは(Alt + Cmd + F)であり、Hugp Corraによって説明されているように
Maxence

24
(空白を持つものを含む)すべての空行を見つけるための良い方法は次のようになります ^[\s]*?[\n\r]+
クレート

5
@Cratesは必要ありません。a もゼロの出現に一致し、たとえばLinux環境でウィンドウのテキストを編集するときに余分な '\ r'と一致するため、トリックも?同じです。*\s*^\s*$
drevicko 2014年

67

ヒューゴの答えの正規表現は、行にスペースがない場合に正しいです。スペースがある場合、正規表現は^\s+$


32
それは空白があると仮定しています。また、実際に行を何も置き換えない場合は機能しません。^[\s]*?[\n\r]+代わりに試してください。私はそれをテストしました、そしてそれは働きます。
クレート14

24

そのようなタスクのためのいくつかのST2 / ST3プラグインもあります。私はこれら2つが好きです:

最初の方法には、空の/不要な行を削除するための2つの方法があります。それらの1つDelete Surplus Blank Linesはクールだと呼ばれました。別の空の行が続く行のみを削除します


10

検索/置換ソリューション:

正規表現検索:\s+

置き換え: //シングルスペース


3
実際、これは$ \ s +
kris

8

この全体がどのように機能するかさえ知りませんが、私は試してみましたが機能 ^\s*$しませんでした(まだ空の行が残っています)。

これは代わり^\s*に私のために働きます

{崇高なテキスト3}


7

私は使用しなければなりませんでした:

\ n ^ \ s * \ nを\ nに置き換えます

https://github.com/NicholasBuse/sublime_DeleteBlankLinesプラグインまったく何もしませんでした。


2
有効にする領域を選択してから、それぞれのショートカットキーを使用してください 。WindowsCtrl + Alt + Backspace(空白行の削除)Ctrl + Alt + Shift + Backspace(余分な空白行の削除) OSXCtrl + Alt + Delete(空白行の削除)Ctrl + Alt + Shift + Delete(空白行の削除) LinuxCtrl + Alt + Backspace(空白行の削除)Ctrl + Alt + Shift + Backspace
余分な

5

崇高なテキスト2&3

@cratesのコメントは私に役立ちます、

ステップ1:ctrl+を押すだけH

手順2:RegEXキーを押す

ステップ3:検索でこれを記述します。 ^[\s]*?[\n\r]+

手順4:すべてを置き換える


5

思ったよりシンプル。Ctrl+ A続いてCtrl+ H次に、[正規表現]を選択し.*ます。交換してください\n\n\n。出来上がり!


3

あなたはこれを探しています:

^\n|^\s+$

前に空白またはタブがあるコンテンツがある場合、行は削除されません>

例えば:

これらは削除されません:...スペース... abc

...タブ... abc

この意志:

...スペース... ...他に何もない...

...タブ... ...他に何もない...


3

複数選択の使用:1組の改行を選択してから、すべてをクイック検索(Alt+ F3)または次をクイック追加(Ctrl+ D)を繰り返し使用して、すべてを選択します。次に、ヒットEnterして単一の改行に置き換えます。


1
大きなドキュメントでは、これがSublimeをクラッシュさせます。
Thalecress 2013年

3

彼らは正規表現なしでそれを行うためのより簡単な方法です。テキスト全体を選択するだけです。次に、[編集]-> [行の並べ替え]-> [一意]に移動します。

それで全部です。空白行はすべて削除されます。


これにより、一意でない行がすべて削除されます。ブランクだけではありません。したがって、多くの行が単一の終了</ div>であるHTMLがあるとすると、最初の行を除くすべての行が削除されます。またはコードでは、すべての終了}が削除されます。これは空白行だけを削除するのは信頼できません、それが何をするか理解してください。
Ivan McA

2

別の方法として、cc.dblConyEdit(プラグイン)のコマンドラインを使用して、空白行または空行を削除できます。


1

「Join lines」もあります。OSXの場合、すべてのテキストを選択し、CMD-Jを数回押すと、選択が行ごとに折りたたまれ、改行が削除されます。

編集:このアプローチでは、すべてを1行に残すことができますが、これは要求したものではありません。


2
私はあなたががこれを行っている場所を確認...この提案の1行にすべてのコンテンツをドラッグで結果が、この作品になるだろうマクロ:(OSXキー)ctrl-q(マクロの記録)、 cmd-j(行を連結する)、 、down arrowctrl-qエンド・マクロ) 。その後shift-ctrl-q、必要に応じて繰り返します...
ptim



0

私の場合、いくつかの空の行にUnicode文字のゼロ幅スペース(U + 200b)が含まれていました。このユニコード文字を含む空の行を取り除くには:

\s\x{200b}|^\s

0

検索/置換を使用して、空白行の上の行の終わりから始まり、空白の後の行の先頭で終了する選択範囲を貼り付けてみてください。これは、単一の空白行に対して機能します。複数の空白行に対してこのプロセスを繰り返すこともできます。 CTRL- H、選択を検索ボックスに入れ、コピー/貼り付けまたは他の方法で単一の改行を置換ボックスに入れます。


0

余分なスペースや空白行を押して検索するには Ctrl+ Shift+をF 選択して正規表現を検索

[\n\r]{2,}

そして次に置き換える

\n

崇高でドリームビューアーのあらゆる種類のスペースを削除する


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.