Notepad++'da tüm CR/LF karakterlerini nasıl bulabilirim/değiştirebilirim?
Microsoft Word'deki ^p özel karakterine eşdeğer bir şey arıyorum.
[\r\n]+
da çalışmalıdır
Güncelleme 26 Mart 2012, Notepad++ 6.0 sürüm tarihi:
Aman Tanrım, şimdi gerçekten çalışıyor!!!
Orijinal cevap 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)
Aslında hayır, regexp ile çalışıyor gibi görünmüyor...
Ancak Notepad++ 5.x'e sahipseniz, 'extended' arama modunu kullanabilir ve \r\n
araması yapabilirsiniz. Bu tüm CRLF
lerinizi bulur.
(Bunun diğerleriyle aynı cevap olduğunun farkındayım, ancak tekrar ediyorum, 'genişletilmiş mod' yalnızca Notepad++ 4.9, 5.x ve daha fazlasıyla kullanılabilir)
Nisan 2009'dan beri Notepad++ sitesinde bu konuyla ilgili bir wiki makaleniz var:
"Satır Uçları Nasıl Değiştirilir, böylece satır düzeni nasıl değiştirilir".
(georgiecasey tarafından aşağıdaki cevabında bahsedilmiştir)
Bazı ilgili alıntılar aşağıdaki arama süreçlerini içerir:
Basit arama (Ctrl+F), Arama Modu =
Normal
Düzenleme penceresinde bir
EOL
seçebilirsiniz.
- İmleci satırın sonuna getirin ve Shift+Sağ Ok yazın.
- veya fare ile
EOL
seçmek için, satırın hemen sonundan başlayın ve bir sonraki satırın başlangıcına sürükleyin;EOL
un sağına sürüklemek işe yaramayacaktır. Unix dosyaları için (sadeceLF
)EOL
ü manuel olarak kopyalayabilir ve alana yapıştırabilirsiniz.
Basit arama (Ctrl+F), Arama Modu = Genişletilmiş
"Extended" seçeneği
\n
ve\r
karakterlerini eşleştirilebilecek karakterler olarak gösterir.
Normal arama modunda olduğu gibi, Notepad++ tam karakteri arar.
UNIX biçimli bir dosyada\r
arandığında bir şey bulunmaz, ancak\n
arandığında bulunur. Benzer şekilde, Macintosh biçimli bir dosya\r
içerecek, ancak\n
içermeyecektir.
Basit arama (Ctrl+F), Arama Modu = Düzenli ifade
Düzenli ifadeler, eşleşme dizesini satırın başına veya sonuna sabitlemek için
^
ve$
karakterlerini kullanır. Örneğin,return;$
araması, aynı satırda daha sonra hiçbir metin olmadan gerçekleşen "return;" oluşumlarını bulacaktır. Bağlantı karakterleri tüm dosya formatlarında aynı şekilde çalışır.
39;.' nokta metakarakteri satır sonlarıyla eşleşmiyor.
[Notepad++ 5.8.5\'de test edilmiştir]: açık bir
\r
veya\n
ile düzenli ifade araması çalışmıyor (Scintilla belgelerinin aksine).
Açık (yapıştırılmış) bir LF üzerinde veya bir EOL seçildiğinde alana yerleştirilen (görünmez) EOL karakterleri üzerinde de arama yapmaz. Regexp olmadan gelişmiş arama (Ctrl+R)
Ctrl+M yeni satırlarla eşleşen bir şey ekleyecektir. Bunlar replace dizesi ile değiştirilecektir.
Gerçekten regex kullanmanız gerekmedikçe, bu yöntemi en güvenilir yöntem olarak öneririm.
Örnek olarak, çift satır aralıklı bir dosyadaki her ikinci yeni satırı kaldırmak için, arama dizesi kutusuna iki kez Ctrl+M ve değiştirme dizesi kutusuna bir kez girin.
Regexp ile gelişmiş arama (Ctrl+R).
Ne Ctrl+M,
$
ne de\r\n
eşleşir.
Aynı vikide Hex editör alternatifinden de bahsedilmektedir:
- Belgenin başına yeni dizeyi yazın.
- Ardından belgeyi Onaltılı modda görüntülemek için seçin.
- Yeni satırlardan birini seçin ve Ctrl+H tuşlarına basın.
- Değiştir iletişim kutusu açıkken, arka planda yeni değiştirme dizesini seçin ve Ctrl+C metinle değiştir girişine yapıştırmak için kopyalayın.
- Ardından dilediğiniz gibi Değiştirin veya Tümünü Değiştirin.
Not: yeni satır için seçilen karakter genellikle
0a
olarak görünür.
Dosya Windows Formatındaysa farklı bir değere sahip olabilir. Bu durumda her zamanEdit -> EOL Conversion -> Convert to Unix Format
seçeneğine gidebilir ve değiştirme işleminden sonra tekrarEdit -> EOL Conversion -> Convert to Windows Format
seçeneğine dönebilirsiniz.
Değiştir iletişim kutusunda, arama modunu "Genişletilmiş" olarak ayarlamak istiyorsunuz. Normal veya Normal İfade modları çalışmayacaktır.
Ardından "\r\n" (veya unix dosyaları için sadece \n veya mac formatındaki dosyalar için sadece \r) öğesini bulun ve değiştirmeyi istediğiniz şekilde ayarlayın.
Bir "regular expressions" araması olduğunu varsayarak, \r\n arayın. Bazı dosyalarda satır başı kullanılmadığı için \r?\n'i tercih ediyorum.
DÜZENLEME: Geri bildirim için teşekkürler, bunu kim oyladıysa. Şunu öğrendim... yani, hiçbir şey, çünkü geri bildirimde bulunmadınız. Bu neden yanlış?