Sekmeleri Notepad ++ uygulamasında boşluklara dönüştürme


1076

Sekmeleri Notepad ++ uygulamasındaki boşluklara nasıl dönüştürebilirim?

Mümkün olduğunu gösteren bir web sayfası buldum , ancak nasıl yapılacağı hakkında herhangi bir bilgi bulamadım.

Bunu yapabilmek istiyorum, çünkü bazı web formları içindeki sekmelerle kodlara saygı duymuyor.


4
Sekme girintisi = 1x karakter, Boşluk girintisi = 3x karakterden fazla.
Yousha Aleayoub

SciTE bunu oldukça kolay yapar. Çok kötü Notepad ++ kadar uzanmıyor.
bvj

1
Alacakaranlık Bölgesine girdim. Benim Notepad ++ her sekmeyi üç katına çıkar ve IDE'de güncellediğim hiçbir şey davranışı değiştirmedi. Ben yıllardır kullanıyorum ve o_o önce bu sorunla hiç karşılaşmadım. Aşağı notlandırma bile sorunu çözmedi. Evet. Ben arıyorum. Alacakaranlık Bölgesi özelliği.
kayleeFrye_onDeck

@YoushaAleayoub 1 boşluk = 1 boşluk, 1 sekme = herkes için farklı.
csabinho

3
@csabinho konu bu. Böylece herkes özelleştirebilir ve kendi boyutuna ayarlayabilir. #Freedom :)
Yousha Aleayoub

Yanıtlar:


986

Mevcut sekmeleri boşluklara dönüştürmek için tuşuna basın Edit->Blank Operations->TAB to Space.

Gelecekte, sekme tuşuna bastığınızda sekme yerine boşluk girmek istiyorsanız:

  1. Git Settings->Preferences...->Language(sürüm 7.1'den beri) veya Settings->Preferences...->Tab Settings(önceki sürümler)
  2. Kontrol Replace by space
  3. ( İsteğe bağlı ) Tab sizeAlanı değiştirerek Sekme yerine kullanılacak boşluk sayısını ayarlayabilirsiniz .

Replace by space ekran görüntüsü


29
@Algina - Sekmeleri otomatik olarak boşluklara dönüştürmek için Notepad ++ ayarlarını değiştirebilirsiniz - sadece şu adrese gidin: Ayarlar - Tercihler - Sekme Ayarları - bu cevapta daha önce açıklanan mrzli gibi "Yere Değiştir" kutusunu işaretleyin.
AddingColor

3
Bu, "Ayarlar" - "Tercihler" - "Sekme Ayarları" - "Sekme boyutu" öğelerinde tanımlanan sekme boyutundan doğal olarak etkilenir.
gak

6
Sadece benim için yol olduğunu eklemek istiyorum: Settings=> Language Menu/Tab Settings=> Replace by space(sağ alt köşede). Neredeyse mrzli'nin dediği gibi, ama nerede dediğini fark etmekte zorlandım Tab Settings. (Kör olduğumu biliyorum!)
Dzyann

11
Ayarlar -> Tercihler ... -> Not Defteri ++ v7.1'de Sekme Ayarları Artık Ayarlar -> Tercihler -> Dil
Dave Burton

3
V7.2.2 kullanıyorum ve kullanarak sekmeleri boşluklara değiştirebilirsiniz Edit -> Blank Operations -> Tab to Space. Ayrıca Tab Settingsşimdi Edit -> Preferences -> Language. Yine de ne yaptığını anlamıyorum Tab Settings. Replace by spaceKutusunu işaretledim javascript, ancak sekme tuşuna bastığımda hala bir sekme alıyorum. Bunun yerine 4 boşluk yazdırmamalı mı?
akinuri

585

Eski: Bu yanıt yalnızca Notepad ++ 'ın eski bir sürümü için geçerlidir. Sekmeler / boşluklar arasında dönüştürme artık Notepad ++ ile oluşturulmuştur ve TextFX eklentisi artık Eklenti Yöneticisi iletişim kutusunda kullanılamamaktadır.

  • Önce "boşluklarla değiştir" ayarını yapın Preferences -> Language Menu/Tab Settings.
  • Ardından, sekmeleri değiştirmek istediğiniz belgeyi açın.
  • Tüm metni vurgulayın ( CTRL+ A).
  • Ardından öğesini seçin TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces.

Not: TextFX Karakterler eklentisinin kurulu olduğundan emin olun ( Plugins -> Plugin manager -> Show plugin manager, Installedsekme). Aksi takdirde, TextFX menüsü olmayacaktır.


1
Evet, bu arama / değiştirme yapmaktan çok daha mantıklı ve TextFX Notepad ++ için yerleşiktir.
rjh

130
Kötü yerleştirilmiş bir menüde sadece kötü adlandırılmış bir özellik.
spoulson

14
Soru için en iyi cevap (belki de yazarın istediği gibi değil) aşağıda sunulan boşluk eklentisine sekmelerdir. Soru tüm sekmeleri boşluklara sorarken, bu cevap yalnızca önde gelen boşlukları dönüştürür . Örneğin, sütun konumlarını korurken sekmelerle aralıklı sekmeli verileri dönüştürmeniz gerekirse, bu yanıt size yardımcı olmaz. Eklenti, burada görebildiğim bu sorunun tek Notepad ++ çözümüdür.
İkili Phile

4
Eklenti yöneticisine gitmem ve TextFX eklentisini kurmam gerekiyordu, ancak bunu yaptıktan sonra talimatların geri kalanı iyiydi.
Rebecca Chernoff

12
Cevap yanlış gibi görünüyor. İkili Phile belirttiği gibi sadece önde gelen sekmeleri dönüştürür. Daha sonraki sürümlerde ayrıca Düzenle -> Boş İşlemler -> SEKME alanı seçeneği de vardır, ancak bu da istendiği gibi çalışmaz. Gördüğüm kadarıyla şu anda NP ++ kutunun dışında hiçbir yolu yoktur. İkili Phile eklentisinden bahsetmedim.
Stijn de Witt

228

Ayarlar ->Tercih ->Bileşenleri Düzenle (sekme) ->Sekme Ayarı (grup) ->Boşluğa göre değiştir

5.6.8 sürümünde (ve üzeri):

Ayarlar ->Tercihler ... ->Dil Menüsü / Sekme Ayarları ->Sekme Ayarları (grup) ->Boşluğa göre değiştir


Yanıtınız için teşekkürler. Vurgulanan bir metin bloğuna uygulamak için bir yol olmasını umuyordum. Sekmelerle çalışmayı tercih ederim. Sadece bir forma bazı kod yapıştırmadan önce boşluklara geçmek istiyorum.
Ocak'ta Helephant

3
Dror'un cevabı kesinlikle 'cevap' olsa da, bu diğer kullanımlar için de kesinlikle yararlıdır!
Marc Bollinger

Sorunun yanıtı değil, aradığım cevap. Şerefe Aron.
BrezzaP

Vaov! (Görünüşe göre) basit bir görev hakkında çok fazla söylenti. \ T ile değiştirin ve Genişletilmiş anahtar benim için iyi çalışıyor
waanders

3
Sürüm 5.9.3, Düzenle-> Boş İşlemler-> SEKME'den Uzay'ya sahiptir. Mrzli'nin cevabına bakınız.
koppor

148

Değiştirmeniz gerekiyor \t - genişletilmiş modu kullandığınızdan emin olun!

değiştirmek


22
sadece vurgulamak için, "ile değiştir" kutusuna dört boşluk (veya iki veya her neyse) koymanız gerekir.
hasen

1
\ t (sekme) değerini istediğiniz sayıda boşlukla değiştirebilirsiniz, bkz. wiki.answers.com/Q/How_many_spaces_is_a_tab
Dror

7
Bu yalnızca bir satırın başındaki sekmeler için düzgün çalışır. Örneğin, böyle bir satırda (sekmeyi temsil etmek için [sekme] 'yi kullanarak): "[sekme] foo [sekme] çubuğu", 4 boşluklu sekme boyutunda, ilk sekme 4 boşluk olmalıdır, ancak ikinci sekme sadece 1 boşluk.
mercator

4
@DaveE Hayır, denizcinin davası TAB'ın nasıl çalıştığının evrensel örneğidir. Orijinal soruda değil, bir yorumda belirtilmiş olmasına rağmen, OP'nin istediği şey sekmelerden boşluklara şeffaf bir geçiştir, yani, dönüşüme bakarak, bir dönüşüm yapıldığını bilmemelidir. Seçilen bir metni alarak ve satırların başlangıcına genişleterek, bir hesaplama gerçekleştirilebilir ve tam olarak mercator'un ima ettiği şeyi yapabilir. Yalnızca satır sınırlarına genişletilen metne bağlıdır. Dolayısıyla duruma göre karar verilmesine gerek yoktur.
UNIX'teki

2
Diğer cevaplar belirli soruya cevap verebilir, ancak bu cevabın en iyi olduğunu düşünüyorum, çünkü sekmeyi sadece boşluklarla değil HERHANGİ bir yerle nasıl değiştireceğine cevap veriyor.
Kik

84

Boşlukları sekmelere dönüştürmek veya tam tersi için bu prosedürü izleyin:

Boşluk - Sekme


1
Notepad ++ v6.3.2 ve daha önceki birkaç sürümünde mevcuttur.
AdrianHHH

7.5.4 sürümü için, bu benim için bir cazibe çalıştı, herhangi bir eklenti yüklemesi olmadan tüm sekme karakterlerini (sadece önde değil) elde etti
J. Paulding

Aynı işlemi yapmak için herhangi bir kısayol tuşu var mı? ?
Akshat Chaturvedi

26

Sekmeleri boşluklara dönüştürmek için bir Notepad ++ eklentisi yayınladım . Evet, bir satırın ortasındaki sekmeleri dönüştürür. Evet, sekmeli alandaki diğer karakterleri dikkate alır. Bunu kontrol et.


1
İçinde bir Sekme ile tanımlamak istediğim bir dizem varsa ne olur? Kaynak kodumu ve dize değişmezlerini de değiştirir mi?
maxwellb

Sekmelerden boşluklara çekicilik gibi çalışır. Yine de hepsi bu kadar.
İkili Phile

Teşekkür ederim, bu harika. Aslında, tüm durumları kapsayan soruya verilen tek gerçek cevap - önde gelen sekmeler veya gömülü sekmeler ve metinde yer ve uygun sekme genişliği dikkate alınır.
RenniePet

Bu, özellikle TextFX'in Notepad ++ varsayılan yüklemesinde olmadığı için bu sorunun cevabı olmalıdır. Eklenti kusursuz çalışıyor. Teşekkür ederim!
Kahverengi

2
Sürüm 5.9.3, Düzenle-> Boş İşlemler-> SEKME'den Uzay'ya sahiptir. Mrzli'nin cevabına bakınız.
koppor

10

Kolay yol:

  1. Tek bir sekme alanını vurgulayın
  2. kopya
  3. Bul / değiştir'i getirin
  4. Bulma alanına yapıştırma
  5. Değiştir alanını tıklayın ve boşluk çubuğuna basın
  6. Sonra hepsini değiştirin.

2
Bu genellikle benim MO tembel bir yaklaşımdır:]
matt lohkamp 20:10

3
Bu da işleri yapmanın Not Defteri (++ değil) yoludur.
maxwellb

Notepad ++ 6.5.5'te, TABS (virgüllerden) için çalışırken, bu benim için işe yarayan tek yaklaşımdı: a yazın tab, seçin ve copydeğiştirin alanına yapıştırılır. (Koymak /tiçinde Replace withkutu vermedi değil bakılmaksızın ben seçilmiş olsun, işi Extendedya Regular Expression.)
Doug_Ivison

5
@Doug_Ivison Bunun nedeni /tbir kaçış dizisi olmamasıdır; bir eğik çizgi ve bir harf t. Sekmeleri değiştirmek istiyorsanız tuşunu kullanın \t. Dolayısıyla Extended (\n, \r, \t, \0, \x...).
Dan Bechard

@Dan haklısın ... teşekkürler. Kopyala / yapıştır çalışır ve \tçalışır.
Doug_Ivison

7

5.8.7 sürümünde:

Menü Ayarları -> Tercihler ... -> Dil Menüsü / Sekme Ayarları -> Sekme Ayarları (sekmeleri boşluklarla değiştirmek için çok dili seçebilirsiniz. Çok iyi!) -> Varsayılan değeri kullan seçeneğinin işaretini kaldırın ve Yere göre değiştir seçeneğini işaretleyin .

Tercihler iletişim kutusunun ekran görüntüsü


"Sekmelerin yerini alacak dil" ne anlama geliyor?
Peter Mortensen

Bu sürümde 7.1 (2016-10-16) tekrar değişti (dan "Dil Menü / Sekme Ayarları" için "Dil" )
Peter Mortensen

7

Bütün cevapları okumadım, ama aradığım yanıtı bulamadım.

Kullandığım Python ve / buluyor musunuz değiştirmek ya da 'boş operasyonları' Ben kodu derlemek istediğiniz her zaman istemiyoruz ...

Benim için en iyi çözüm , anında gerçekleşmesi !

İşte bulduğum basit çözüm :

Şuraya git:

  1. Menü Ayarları -> Tercihler
  2. Sekme Ayarları'nı seçin
  3. Dil türünüzü seçin (örn. Python)
  4. 'Varsayılan değeri kullan' onay kutusunu seçin
  5. 'Yere göre değiştir' onay kutusunu seçin

Resim açıklamasını buraya girin


Bu sürümde 7.1 (2016/10/16) tekrar değişti (dan "Dil Menü / Sekme Ayarları" için "Dil" (ve oldu "Sekme Ayarları" bu cevap olarak (daha eski sürümünde))).
Peter Mortensen

3

Tercihler ayarında 'Bileşenleri Düzenle' sekmesi yok. 'Dil Menüsü / Sekme Ayarları'na gitmeniz gerekiyor, orada sekme davranışını kontrol etmek için bir seçenek var. Hatta dosyanın diline bağlı olarak farklı çalışacak şekilde ayarlayabilirsiniz.


Ve orada ayarladıktan sonra , daha önce açıklandığı gibi TextFX (TextFX -> TextFX Edit -> Sekmelere boşluk veya sekmelere boşluk) kullanın . Bu kesinlikle Npp'in en son sürümüne gitmenin yoludur.
Cees Meijer

Bu sürümde 7.1 (2016-10-16) tekrar değişti (dan "Dil Menü / Sekme Ayarları" için "Dil" )
Peter Mortensen

2

CLR Tabs to Spaces eklentisi iyi bir seçenek olmalıdır. Ben kullandım ve işe yaradı.


kusursuz zafer! metni, eklentileri> CLR Sekmelerden Boşluklara> Sekmelerden Boşluklara. bu eklenti, sekme için kaç boşluk gerektiğini dikkate alır, yani aralıklı çıktınız sekmeli çıktınızla tamamen aynı görünür.
sonjz

2

Bu basit yolu takip ediyorum:

  • Tek bir sekmeyi (Vurgula) çift ​​tıklayın (yani: \ t ).
  • ctrl + F( Find/repace) Tuşuna basın .
  • Sen görmeyebilirsiniz \ t veya tek bir sekme alanı üzerinde Find What:alana. Ama endişelenme.
  • Bir Enter spaceiçinde Replace With:alanında.
  • Tıklayın Replce All.

Bitti! :)

Görmek:

* Tab * yerine <code> Notepad ++ </code> 'da * Space * yazın

Not: Bu yöntem, tersine (bir yerine geçerli alan bir yan sekmesi çok durumda).


Arama Modundan "Genişletilmiş" i seçerseniz, \ t girerseniz sekmeyi de bulabilirsiniz. Bu çözümle ilgili sorun, sekmenin aralığını ayarlamamasıdır, yani bir sekmede maksimum 5 boşluk varsa, sekmeden önceki metniniz 1-4 boşluk olabilir ...
sonjz

1
Bu cevabın neden reddedildiğini bilmiyorum, ama bana göre belki de en iyisi çünkü aşağıdakileri somutlaştırıyor: KISS. Açıkçası, tüm köşe vakalarını ve bir eklentinin getireceği yapılandırma galore'unu asla kapsamaz, ancak daha sonra, bu kadar basit bir şey için bir eklentiye güvenmek zorunda kalmanız genel durum için çılgındır. KISS sonuna kadar.
luis.espinal


1

Ayarlar> Tercihler> Sekme Ayarları "Yere göre değiştir" seçeneğini işaretleyin. Üstünde dikkat edin Sekme boyutu vardır: 4 Dörde tıklayın ve değeri başka bir tam sayıya değiştirme seçeneğiyle bir pencere açılacaktır.

İstediğiniz tamsayıyı girin ve ENTER tuşuna basın.

İşte orada <3.


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.