Sublime Text 2: Boş / boş satırlar nasıl silinir?


271

Aşağıdaki dokuz satırlı bir metin dosyam olduğunu varsayalım:

foo

bar

baz

qux

quux

Yalnızca beş satır bırakarak boş / boş satırların dördünü de kaldırmak için Yüce Metin 2'yi nasıl kullanabilirim?

Yanıtlar:


658

Metni seçin

Basın:

  • Ctrl+ HPC'de veya
  • CommandMac'te + Alt+ Fveya
  • Bul-> Değiştir'i tıklayın.

Şuna basarak 'normal ifade'yi seçtiğinizden emin olun:

  • Alt+ RPC'de veya
  • CommandMac'te + Alt+ Rveya
  • .*Bul kutusunu tıklayın .

Ne buldun: ^\n

Şununla Değiştir: (hiçbir şey, boş bırakın).


3
İşe yarıyor, teşekkürler! Bu bul / değiştir'i bir klavye kısayoluna bağlamanın veya bir şekilde hızlı erişim için kaydetmenin bir yolu var mı? Googled ve hiçbir şey bulamadım
Nick

46
^(\r|\n\r?)Tüm olası satır sonlarını kapatmak için küçük öneri kullanımı .
Haris Krajina

5
Benim için (Sublime Text 2) kısayolu (Alt + Cmd + F), o zaman Hugp Corra tarafından açıklandığı gibi
Maxence

24
Tüm boş satırları (beyaz boşluklu olanlar dahil) bulmanın daha iyi bir yolu: ^[\s]*?[\n\r]+
Kasalar

5
@ Gerek yok ?, aynı *zamanda sıfır oluşumlarla eşleşir ve \s*örneğin bir linux ortamında windows metni düzenlerken ekstra 'r' ile eşleşir ^\s*$, hile de öyle.
drevicko

67

Hugo'nun cevabındaki normal ifade, satırda boşluk olmadığında doğrudur. Alan regexp varsa,^\s+$


32
Bu boşluk olduğunu varsayar. Ayrıca, hatları aslında hiçbir şeyle değiştirmek için işe yaramaz. ^[\s]*?[\n\r]+Bunun yerine deneyin . Bunu test ettim ve işe yarıyor.
Kasalar

24

Bu tür görevler için bazı ST2 / ST3 Eklentileri de vardır. Bu ikisini beğendim:

İlki boş / gereksiz çizgileri kaldırmak için iki yöntem içerir. Bunlardan biri Delete Surplus Blank Lineshangisinin havalı olduğunu söyledi. Yalnızca başka bir boş satırın ardından gelen satırları kaldırır


10

Bir Bul / Değiştir çözümü:

Regex Bul:\s+

Şununla değiştir: // tek boşluk


3
Aslında, bu: $ \ s +
kris

8

Bu şeyin nasıl çalıştığını bile bilmiyorum, ama denedim ^\s*$ve çalışmadım (hala boş satırlar bırakarak).

Bu ^\s*benim için işe yarıyor

{sublime text 3}


7

Kullanmak zorunda kaldım:

\ n ^ \ s * \ n yerine \ n yerine

Https://github.com/NicholasBuse/sublime_DeleteBlankLines eklentisi hiç bir şey yapmadı.


2
Etkilemek istediğiniz alanı seçtiğinizden emin olun ve ardından ilgili kısayol tuşlarını kullanın Windows : Ctrl + Alt + Geri Al (Boş Satırları Sil) Ctrl + Alt + Shift + Geri Al (Fazla Boş Satırları Sil) OSX : Ctrl + Alt + Sil (Boş Satırları Sil) Ctrl + Alt + Shift + Sil (Boş Satırları Sil) Linux : Ctrl + Alt + Geri Al (Boş Satırları Sil) Ctrl + Alt + Shift + Geri Al (Fazla Boş Satırları Sil)
Xtremefaith

5

Yüce Metin 2 ve 3

@Crates'in yorumları benim için çalışıyor,

1. Adım: ctrl+H

2.Adım: RegEX tuşuna basın

3.Adım: Bunu Bul alanına yazın: ^[\s]*?[\n\r]+

4.Adım: Tümünü değiştirin


5

Düşündüğümden daha basit. Ctrl+ AArdından Ctrl+ HSonra Normal İfade'yi seçin .*. Değiştir \n\nile \n. İşte bu kadar!


3

Bunu arıyorsunuz:

^\n|^\s+$

önünde boşluk veya sekme bulunan içerik varsa satırı silmez>

Örneğin:

bunlar silinmeyecek: ... space ... abc

... sekmesi ... abc

Bu irade:

... uzay ... ... başka bir şey ...

... sekmesi ... ... başka hiçbir şey ...


3

Birden fazla seçim kullanma: bir çift satır sonu seçin, ardından tümünü seçmek için Hızlı Bul Tümünü ( Alt+ F3) veya Hızlı Sonrakini ( Ctrl+ D) kullanın; ardından Entertek satır aralarıyla değiştirmek için tuşuna basın.


1
Büyük belgelerde, bunun Yüce çöktüğünü görüyorum.
Thalecress

3

Regex olmadan bunu yapmanın daha kolay bir yoludur. sadece metnin tamamını seçmek zorundasınız. ardından şu adrese gidin: Düzenle -> Satırlara İzin Ver -> Benzersiz.

Bu kadar. ve tüm boş satırlar silinecektir.


Bu, TÜM benzersiz olmayan satırları silecektir. Sadece boşluklar değil. Yani, çok sayıda satırın tek bir kapanış olduğu bir HTML'niz olduğunu varsayalım </div>, birincisi hariç hepsini silecektir. Veya kodda tüm kapanışlarınızı silecektir}. Bu sadece boş satırları silmek için güvenilir değildir, ne yaptığını anlayın.
Ivan McA

2

Başka bir yol, cc.dblboş satırları veya boş satırları silmek için ConyEdit (eklenti) komut satırını kullanabilirsiniz .


1

Ayrıca "Birleştirme hatları" da var. OSX üzerindeyse, tüm metninizi seçin ve CMD-J'ye birkaç kez basın; satır sonlarını kaldırarak seçiminizi satır satır daraltır.

Düzenleme: Bu yaklaşım, her şeyi bir satırda bırakacaktır, ki bu sizin istediğiniz şey değildir.


2
Bununla birlikte nereye gittiğini görüyorum .. Bu öneri tüm içeriği bir satıra sürükleme ile sonuçlanır, ancak bir makro bu işi yapar: (OSX anahtarları) ctrl-q(kayıt makrosu), cmd-j(satırları birleştir) down arrow,, ctrl-q(bitiş makrosu) . Sonra shift-ctrl-qgerektiği kadar tekrarlayın ...
ptim



0

Benim durumumda bazı boş satırlar unicode karakter sıfır genişlik boşluğu (U + 200b) içeriyordu . Bu unicode karaktere sahip olanlar dahil boş satırlardan kurtulmak için:

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

0

Bul / değiştir komutunu kullanarak, seçimi boş satırın üstündeki satırın ucundan başlayarak ve satırın başlangıcındaki satırın başından biten bir seçimi yapıştırmayı deneyin. Bu, tek bir boş satır için çalışır. İşlemi birden çok boş satır için de tekrarlayabilirsiniz. CTRL- H, seçiminizi bul kutusuna koyun ve kopyala / yapıştır veya başka bir yöntemle değiştirme kutusuna tek bir yeni satır ekleyin.


0

Fazladan boşluk ve boş satır bulmak için Ctrl+ Shift+ Normal İfadeleri Bul'u F seçin

[\n\r]{2,}

ve ardından

\n

yüce ve dreamviewr her türlü alanı kaldırmak için


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.