Notepad ++ 'da belirli satırları nasıl silerim?


94

Bazı kod dosyalarını (C #) temizliyorum ve bölgeleri kaldırmak istiyorum. Ve '#region' dizesine sahip tüm satırları silmek istiyorum. Bu sadece bir örnek ve birkaç kullanım daha düşünebilirim, ama bu mümkün mü?


2
Ben Temelde defterde bir soru ++ ve spesifik çalışma deseni, ancak mutlaka programlama değil ... konu kapalı olması bu soruyu oy için cazip related: /
Andreas Niedermair

@AndreasNiedermair katılıyor
Stefan Falk

Yanıtlar:


39

Ara -> Değiştir ... ( Ctrl+ H) menüsünü kullanabilirsiniz .

Değiştirmek için düzenli ifade özelliği vardır. Satırdaki her şeyin yanı sıra # bölge ile eşleşen bir normal ifade kullanabilir ve onu boş alanla değiştirebilirsiniz.


Teşekkürler, bunu yaptım ve işe yarıyor. Ama şimdi \ n \ n yerine bir tane koymaya çalışıyorum \ n ama işe yaramıyor, herhangi bir fikir?
Rismo

1
kaçış dizilerini değiştirmek için genişletilmiş aramayı kullanın (normal ifadenin hemen üzerindeki radyo düğmesi)
John T

Teşekkürler John. Bunu yaptım ve bir satır sonu için çalıştım \ n, ancak iki satır için değil. \ N \ n arıyorum ve \ n ile değiştiriyorum, ancak işe yaramıyor. Senin için çalışıyor mu?
Rismo

1
Belgeyi pencerelerde yazdıysanız, satır sonları \ r \ n olacaktır. UNIX stili satır sonları \ n'dir.
John T

5
Ayrıca TextFx -> TextFx Edit -> Fazla Boş Satırları Sil'in de aynı şeyi yaptığını fark ettim :)
Rismo

279

Notepad ++ v6.5

  1. Arama menüsü -> Bul ... -> İşaretle sekmesi -> Ne bulun: Arama metniniz , Yer İşareti Satırını kontrol edin , ardından Tümünü İşaretle . Bu, arama terimiyle tüm satırları işaretler, kenar boşluğunda mavi daireleri görürsünüz.

  2. Sonra Ara menüsü -> Yer İşareti -> Yer İmli Satırları Kaldır . Bu, işaretlenen tüm satırları silecektir.

Arama yapmak için bir normal ifade de kullanabilirsiniz. Bu yöntem, John'unki gibi boş bir satırla sonuçlanmayacak ve aslında satırı silecektir.

Eski versiyonlar

  1. Arama menüsü -> Bul ... -> Neyi bulun: arama metniniz , Yer İşareti Satırını kontrol edin ve Tümünü Bul'u tıklayın .
  2. Sonra Ara -> Yer İşareti -> Yer İmli Satırları Kaldır

8
Teşekkür ederim! Vay canına, NP ++ 'nın bunu yaptığının farkında değildim .. harika bir zaman tasarrufu. Hatları bulun ve yer imlerine ekleyin + satırları silin. Harika. Teşekkür ederim!!
Matthew M.

ne bir hack, neden \ r \ n'yi "" ile değiştiremiyorum :(
felickz

13
Bu, 1'den fazla oy verebilmeyi dilediğim yerde bulduğum o küçük mücevherlerden biri. Bunun mevcut olduğunu asla fark etmeden yıllar boyunca ne kadar zaman harcadığımı size anlatamam! Tek sorun ... Ben daha üretken olmak gerekiyor galiba şimdi
Milner

1
Eğer bunu arıyorsanız. 'Mark'ın artık Ara açılır menüsünde kendi sekmesi var.
bunnybare

1
@bunnybare, teşekkürler. En son sürüm için cevabı güncelledim.
Ray

4

İşte "METİNİNİZ" içeren satırları tamamen kaldırmanın bir yolu:

  • Değiştir iletişim kutusunu aç
  • Aşağıdaki arama dizesini girin: .*YOURTEXT.*[\r]?[\n](YOURTEXT'i metninizle değiştirin)
  • "Normal ifade" yi etkinleştirin
  • ". Yeni satırla eşleşir" seçeneğini devre dışı bırakın

Verilen normal ifade hem Windows hem de Unix satır sonlarıyla eşleşir.

Metniniz, ters eğik çizgi gibi normal ifade için özel bir anlamı olan karakterler içeriyorsa, bunlardan kaçmanız gerekir.


Neden tek bir karakter için karakter sınıfını kullanıyorsunuz?
Toto

4

Bu, kodumu güncellemek için kullandığım Notepad ++ 'nın en yaygın özelliğidir.

Yapmanız gereken tek şey:

  • Tüm satırlarda bulunan ortak dizeyi seçin.
  • Basın Ctrl+F
  • In Mark sekmesi, yinelenen dize yapıştırın ve kontrol İmi çizgi onay kutusunu.
  • Tıklamak Mark All
  • Şimdi AraYer İşaretiYer İşaretli Satırları Kaldır menüsüne gidin

Resimli açıklama için bu bağlantıya başvurabilirsiniz.

http://www.downloadorinstall.com/best-notepad-tips-and-tricks-for-faster-work-and-development/


Bağlantı kopmuş gibi görünüyor (veya belki kullanmak için korkutucu miktarda JavaScript kodu gerektiriyor).
Peter Mortensen

2

Jacob'ın John T'ye cevabı, tüm satırı silmek için mükemmel bir şekilde çalışıyor ve bununla Dosyalarda Bul yapabilirsiniz. En alttaki "Normal ifade" yi kontrol ettiğinizden emin olun.

Çözüm: ^.*#region.*$


2
satırı silmek istediğini, yerine bir şey
koymak

1

EOL'nizin ne olduğunu \ n veya \ r \ n araştırın. Sonra .*#region.*\r\nregexpr modunda hiçbir şeyle değiştirin .


0

Genişletilmiş arama modunu \ n ile # bölgeyi değiştirmeyi deneyebilirsiniz.


2
OP, "tüm satırları silmek" istediğini söyledi, onu yeni bir satırla değiştireceksin
felickz

0

Normal ifadeyi ve bul ve değiştir'i kullanarak # bölge içeren tüm satırları boş satır bırakmadan silebilirsiniz. Çünkü bazı nedenlerden dolayı Ray'in yöntemi makinemde çalışmadı, aradım (.*#region.*\n)|(\n.*#region.*)ve değiştirme kutusunu boş bıraktım.

Bu normal ifade, if'in #regionilk satırda bulunmasını, son satırın silinmesini ve son satırda bulunursa önceki satırın silinmesini sağlar.

Yine de, Ray'in çözümü sizin için işe yarıyorsa daha iyidir.

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.