Konvertieren Sie Tabulatoren in Leerzeichen in Notepad ++

1077

Wie konvertiere ich Tabulatoren in Leerzeichen in Notepad ++?

Ich habe eine Webseite gefunden , die darauf hinweist, dass dies möglich ist, aber ich konnte keine Informationen dazu finden.

Ich würde das gerne tun können, da einige Webformulare Code mit Tabulatoren nicht berücksichtigen.

Helephant
quelle
4
Tabulatoreinzug = 1x Zeichen, Leerzeicheneinzug = mehr als 3x Zeichen.
Yousha Aleayoub
SciTE macht das ganz einfach. Schade, dass es nicht so gut funktioniert wie Notepad ++.
bvj
1
Ich habe anscheinend die Twilight Zone betreten. Mein Notepad ++ hat immer einen dreifachen Abstand zu jeder Registerkarte, und nichts, was ich in der IDE aktualisiert habe, hat das Verhalten geändert. Ich benutze es seit Jahren und bin vor o_o noch nie auf dieses Problem gestoßen. Selbst das Herabstufen hat das Problem nicht behoben. Also ja. Ich nenne es. Twilight Zone-Funktion.
KayleeFrye_onDeck
@YoushaAleayoub 1 Leerzeichen = 1 Leerzeichen, 1 Tab = für alle unterschiedlich.
Csabinho
3
@csabinho das ist der Punkt. So kann jeder es anpassen und auf seine eigene Größe einstellen. # Freiheit :)
Yousha Aleayoub

Antworten:

989

Drücken Sie, um vorhandene Registerkarten in Leerzeichen umzuwandeln Edit->Blank Operations->TAB to Space.

Wenn Sie in Zukunft beim Drücken der Tabulatortaste Leerzeichen anstelle von Tabulatoren eingeben möchten:

  1. Gehen Sie zu Settings->Preferences...->Language(seit Version 7.1) oder Settings->Preferences...->Tab Settings(früheren Versionen)
  2. Prüfen Replace by space
  3. ( Optional ) Sie können die Anzahl der Leerzeichen festlegen, die anstelle einer Registerkarte verwendet werden sollen, indem Sie das Tab sizeFeld ändern .

Screenshot von Durch Leerzeichen ersetzen

mrzli
quelle
29
@Algina - Sie können die Einstellungen für Notepad ++ ändern, um Tabulatoren automatisch in Leerzeichen umzuwandeln. Gehen Sie einfach zu: Einstellungen - Einstellungen - Registerkarteneinstellungen - aktivieren Sie das Kontrollkästchen "Durch Leerzeichen ersetzen" - wie bereits in dieser Antwort beschrieben.
Hinzufügen von Farbe
3
Dies wird natürlich durch die unter "Einstellungen" - "Einstellungen" - "Registerkarteneinstellungen" - "Registerkartengröße" definierte Registerkartengröße beeinflusst.
Caw
6
Ich möchte nur hinzufügen, dass der Pfad für mich war: Settings=> Language Menu/Tab Settings=> Replace by space(In der unteren rechten Ecke). Es ist fast so, wie Mrzli sagte, aber es fiel mir schwer zu bemerken, wo es stand Tab Settings. (Ich weiß, ich bin blind!)
Dzyann
11
Es gibt keine Einstellungen -> Einstellungen ... -> Registerkarteneinstellungen in Notepad ++ v7.1 Es ist jetzt unter Einstellungen -> Einstellungen -> Sprache
Dave Burton
3
Ich verwende v7.2.2 und kann Tabulatoren mit in Leerzeichen ändern Edit -> Blank Operations -> Tab to Space. Auch die Tab Settingssind jetzt in Edit -> Preferences -> Language. Obwohl ich nicht verstehe, was das Tab Settingsmacht. Ich habe das Kontrollkästchen Replace by spaceaktiviert javascript, erhalte jedoch weiterhin eine Registerkarte, wenn ich die Tabulatortaste drücke. Sollte es nicht stattdessen 4 Leerzeichen drucken?
Akinuri
585

Veraltet: Diese Antwort ist nur für eine ältere Version von Notepad ++ korrekt. Das Konvertieren zwischen Tabulatoren / Leerzeichen ist jetzt in Notepad ++ integriert und das TextFX-Plugin ist im Dialogfeld Plugin-Manager nicht mehr verfügbar.

  • Sie zuerst die „ersetzen durch Leerzeichen“ Einstellung in Preferences -> Language Menu/Tab Settings.
  • Öffnen Sie als Nächstes das Dokument, durch das Sie Registerkarten ersetzen möchten.
  • Markieren Sie den gesamten Text ( CTRL+ A).
  • Dann wählen Sie TextFX -> TextFX Edit -> Leading spaces to tabs or tabs to spaces.

Hinweis: Stellen Sie sicher , TextFX Charaktere Plugin installiert ist ( Plugins -> Plugin manager -> Show plugin manager, InstalledReiter). Andernfalls wird kein TextFX-Menü angezeigt.

user48821
quelle
1
Ja, dies ist weitaus sinnvoller als das Suchen / Ersetzen, und TextFX ist in Notepad ++ integriert.
rjh
130
Nur eine schlecht benannte Funktion in einem schlecht platzierten Menü.
Spoulson
14
Die beste Antwort auf die Frage (möglicherweise nicht so, wie der Autor es beabsichtigt hat) sind die unten angebotenen Registerkarten für Leerzeichen. Die Frage fordert alle Tabulatoren in Leerzeichen auf, während diese Antwort nur führende Leerzeichen konvertiert . Wenn Sie beispielsweise Tabellendaten mit Tabulatoren konvertieren müssen, während Sie die Spaltenpositionen beibehalten, hilft Ihnen diese Antwort nicht weiter. Das Plugin ist die einzige Notepad ++ - Lösung für diese Frage, die ich hier sehen kann.
Binary Phile
4
Ich musste in den Plugin-Manager gehen und das TextFX-Plugin installieren, aber nachdem ich dies hatte, waren die restlichen Anweisungen in Ordnung.
Rebecca Chernoff
12
Antwort, die falsch zu sein scheint. Wie Binary Phile angibt, werden nur die führenden Registerkarten konvertiert. In späteren Versionen gibt es auch die Option Bearbeiten -> Leere Operationen -> TAB in Leerzeichen, die jedoch nicht wie gewünscht funktioniert. Soweit ich das sehe, gibt es derzeit in NP ++ keinen sofort einsatzbereiten Weg. Ich habe das Plugin Binary Phile nicht ausprobiert.
Stijn de Witt
228

Einstellungen ->Einstellungen ->Komponenten bearbeiten (Registerkarte) ->Registerkarte Einstellung (Gruppe) ->Durch Leerzeichen ersetzen

In Version 5.6.8 (und höher):

Einstellungen ->Einstellungen ... ->Sprachmenü / Registerkarte Einstellungen ->Registerkarte Einstellungen (Gruppe) ->Durch Leerzeichen ersetzen

Aron Rotteveel
quelle
Danke für die Antwort. Ich hatte gehofft, dass es eine Möglichkeit gibt, es einfach auf einen hervorgehobenen Textblock anzuwenden. Ich arbeite lieber mit Tabs. Ich möchte nur in der Lage sein, zu Leerzeichen zu wechseln, bevor ich Code in ein Formular einfüge.
Helephant
3
Während die Antwort von Dror sicherlich die "Antwort" ist, ist dies definitiv auch hilfreich, um sie für andere Zwecke zu kennen!
Marc Bollinger
Nicht die Antwort auf die Frage, sondern die Antwort, nach der ich gesucht habe. Prost, Aron.
BrezzaP
Beeindruckend! So viel Gerücht über eine (scheinbar) einfache Aufgabe. Ersetzen durch \ t und Extended Switch funktioniert gut für mich
Waanders
3
Version 5.9.3 enthält Bearbeiten-> Leere Operationen-> TAB zum Leerzeichen. Siehe Antwort von mrzli.
Koppor
148

Sie müssen ersetzen \t - stellen Sie sicher, dass Sie den erweiterten Modus verwenden!

Ersetzen

Dror
quelle
22
Um dies zu betonen, müssen Sie vier Leerzeichen (oder zwei oder was auch immer) in das Feld "Ersetzen durch" einfügen.
Hasen
1
Sie können das \ t (Tab) durch eine beliebige Anzahl von Leerzeichen ersetzen, siehe wiki.answers.com/Q/How_many_spaces_is_a_tab
Dror
7
Dies funktioniert nur für Registerkarten am Zeilenanfang ordnungsgemäß. Beispiel: In einer Zeile wie dieser (mit [Tab] zur Darstellung eines Tabs): "[Tab] foo [Tab] Bar", mit einer Tabulatorgröße von 4 Leerzeichen sollte der erste Tabulator 4 Leerzeichen sein, der zweite Tabulator jedoch nur 1 Leerzeichen.
Mercator
4
@ DaveE Nein, der Fall des Mercators ist der universelle Fall, wie TAB funktioniert. Obwohl in einem Kommentar und nicht in der ursprünglichen Frage erwähnt, möchte das OP im Wesentlichen einen transaperenten Wechsel von Tabulatoren zu Leerzeichen, dh er sollte nicht durch die Pflege der Konvertierung wissen, dass eine Konvertierung durchgeführt wurde. Indem man einen ausgewählten Text nimmt und ihn auf Zeilenanfänge erweitert, kann man eine Berechnung implementieren und genau das tun, was der Mercator impliziert. Dies hängt nur von dem Text ab, der auf Zeilengrenzen erweitert wurde. Eine Entscheidung von Fall zu Fall ist also nicht erforderlich. Es ist genau das, was der Befehl expand in UNIX tut
Paralife
2
Die anderen Antworten beantworten möglicherweise die spezifische Frage, aber ich denke, diese Antwort ist am besten, da sie beantwortet, wie Tabulatoren durch ALLES ersetzt werden, nicht nur durch Leerzeichen.
Kik
84

Gehen Sie folgendermaßen vor, um Leerzeichen in Tabulatoren zu konvertieren oder umgekehrt:

Leerzeichen - Tab

Keshava GN
quelle
1
Verfügbar in Notepad ++ v6.3.2 und mehreren früheren Versionen.
AdrianHHH
Für Version 7.5.4 war dies ein Zauber für mich, da alle Tabulatorzeichen (nicht nur führende) ohne zusätzliche Plugin-Installation
J. Paulding
Gibt es eine Tastenkombination, um dasselbe zu tun? ?
Akshat Chaturvedi
26

Ich habe gerade ein Notepad ++ - Plugin veröffentlicht , um Tabulatoren in Leerzeichen umzuwandeln. Ja, es werden Registerkarten in der Mitte einer Zeile konvertiert. Ja, andere Zeichen im Registerkartenfeld werden berücksichtigt. Hör zu.

Carl
quelle
1
Was ist, wenn ich eine Zeichenfolge habe, die ich mit einem Tab definieren möchte? Es ändert auch meinen Quellcode und meine String-Literale?
Maxwellb
Funktioniert wie ein Zauber für Tabulatoren zu Leerzeichen. Das ist aber alles.
Binary Phile
Danke, das ist großartig. Dies ist tatsächlich die einzige echte Antwort auf die Frage, die alle Situationen abdeckt - führende Registerkarten oder eingebettete Registerkarten sowie Berücksichtigung der Position im Text und der richtigen Registerkartenbreite.
RenniePet
Dies sollte die Antwort auf diese Frage sein, insbesondere jetzt, da TextFX nicht in der Standardinstallation von Notepad ++ enthalten ist. Das Plugin funktioniert einwandfrei. Vielen Dank!
Brown
2
Version 5.9.3 enthält Bearbeiten-> Leere Operationen-> TAB zum Leerzeichen. Siehe Antwort von mrzli.
Koppor
10

Der einfache Weg:

  1. Markieren Sie einen einzelnen Registerkartenbereich
  2. Kopieren
  3. Suchen / ersetzen
  4. In das Suchfeld einfügen
  5. Klicken Sie in das Ersetzungsfeld und drücken Sie die Leertaste
  6. Dann alle ersetzen.
matt lohkamp
quelle
2
Es ist der faule Ansatz, der im Allgemeinen mein MO ist:]
Matt Lohkamp
3
Dies ist auch die Notepad-Methode (nicht ++).
Maxwellb
In Notepad ++ 6.5.5 war der Versuch, TO TABS (aus Kommas) zu verwenden, der einzige Ansatz, der für mich funktioniert hat: Geben Sie a ein tab, wählen Sie es aus copy, und es wird in das Ersetzungsfeld eingefügt. (Das Einfügen /tin die Replace withBox hat nicht funktioniert, unabhängig davon, ob ich ausgewählt habe Extendedoder Regular Expression.)
Doug_Ivison
5
@Doug_Ivison Das liegt daran, dass /tes sich nicht um eine Escape-Sequenz handelt. Es ist ein Schrägstrich und ein Buchstabe t. Wenn Sie Registerkarten ersetzen möchten, verwenden Sie \t. Daher Extended (\n, \r, \t, \0, \x...).
Dan Bechard
@ Dan Du hast recht ... danke. Das Kopieren / Einfügen funktioniert und \tfunktioniert.
Doug_Ivison
7

In Version 5.8.7:

Menü Einstellungen -> Einstellungen ... -> Sprache - Menü / Tab Einstellungen -> Tab Einstellungen (Sie können die Sprache selbst wählen Tabs zu Leerzeichen zu ersetzen , es ist cool.!) -> Deaktivieren Sie die Option Standardwert verwenden und überprüfen Sie durch Raum ersetzen .

Screenshot des Dialogfelds "Einstellungen"

Stephenmjm
quelle
Was ist mit "der Sprache zum Ersetzen von Registerkarten" gemeint?
Peter Mortensen
Dies änderte sich erneut in Version 7.1 (16.10.2016) (von " Sprachmenü / Registerkarteneinstellungen" zu "Sprache" )
Peter Mortensen
7

Ich habe nicht alle Antworten gelesen, aber ich habe nicht die Antwort gefunden, nach der ich gesucht habe.

Ich verwende Python und möchte nicht jedes Mal, wenn ich Code kompilieren möchte, Such- / Ersetzungs- oder Leeroperationen ausführen ...

Die beste Lösung für mich ist also, dass es im laufenden Betrieb passiert !

Hier ist die einfache Lösung, die ich gefunden habe :

Gehe zu:

  1. Menüeinstellungen -> Einstellungen
  2. Wählen Sie Registerkarteneinstellungen
  3. Wählen Sie Ihren Sprachtyp (zB Python)
  4. Aktivieren Sie das Kontrollkästchen "Standardwert verwenden".
  5. Aktivieren Sie das Kontrollkästchen "Durch Leerzeichen ersetzen".

Geben Sie hier die Bildbeschreibung ein

Alg_D
quelle
Dies wurde in Version 7.1 (2016-10-16) erneut geändert (von " Sprachmenü / Registerkarteneinstellungen" zu "Sprache" (und war in einer noch älteren Version "Registerkarteneinstellungen" (wie in dieser Antwort))).
Peter Mortensen
3

Im Einstellungssetup gibt es keine Registerkarte "Komponenten bearbeiten". Sie müssen zu 'Sprachmenü / Registerkarteneinstellungen' gehen. Dort gibt es eine Option zum Steuern des Registerkartenverhaltens. Sie können es sogar so einstellen, dass es je nach Sprache der Datei unterschiedlich funktioniert.

Elliot
quelle
Und nachdem Sie es dort eingestellt haben, verwenden Sie TextFX (TextFX -> TextFX-Bearbeitung -> Leerzeichen zu Tabulatoren oder Tabulatoren zu Leerzeichen führen), wie zuvor beschrieben. Dies ist definitiv der richtige Weg in der neuesten Version von Npp.
Cees Meijer
Dies änderte sich erneut in Version 7.1 (2016-10-16) (von " Sprachmenü / Registerkarteneinstellungen" zu "Sprache" )
Peter Mortensen
2

Das Plugin CLR Tabs to Spaces sollte eine gute Option sein. Ich habe es benutzt und es hat funktioniert.

Schüler
quelle
makelloser Sieg! Markieren Sie Text, Plugins> CLR-Registerkarten zu Leerzeichen> Registerkarten zu Leerzeichen. Dieses Plugin berücksichtigt, wie viele Leerzeichen für die Registerkarte erforderlich sind, dh Ihre Ausgabe mit Abstand sieht genauso aus wie Ihre Ausgabe mit Registerkarten.
Sonjz
2

Ich folge diesem einfachen Weg:

  • Doppelklicken Sie auf die einzelne Registerkarte (Markieren) (dh: \ t ).
  • Drücken Sie ctrl + F( Find/repace).
  • Möglicherweise wird im Feld kein \ t oder einzelner Registerkartenbereich angezeigt Find What:. Aber mach dir keine Sorgen.
  • Geben Sie ein spaceIn- Replace With:Feld ein.
  • Klicken Sie auf Replce All.

Erledigt! :) :)

Sehen:

Ersetzen Sie * Tab * durch * Leerzeichen * in <code> Notepad ++ </ code>

Hinweis: Diese Methode gilt auch für den umgekehrten Fall (Ersetzen eines Leerzeichens durch eine Registerkarte ).

Keshava GN
quelle
Wenn Sie im Suchmodus "Erweitert" auswählen, können Sie \ t eingeben und es wird auch die Registerkarte gefunden. Das Problem bei dieser Lösung ist, dass der Abstand für die Registerkarte nicht angepasst wird, dh wenn eine Registerkarte maximal 5 Leerzeichen enthält, kann Ihr Text vor der Registerkarte 1 bis 4 Leerzeichen enthalten ...
sonjz
1
Ich weiß nicht, warum diese Antwort abgelehnt wurde, aber für mich ist sie vielleicht die beste, weil sie Folgendes verkörpert: KISS. Natürlich wird es nie alle Eckfälle und Konfigurationen abdecken, die ein Plug-In in Hülle und Fülle bringen würde, aber andererseits ist es für den allgemeinen Fall einfach verrückt, sich auf ein Plug-In für etwas so Einfaches verlassen zu müssen. KÜSS den ganzen Weg.
Luis.espinal
2

Wenn Sie zufällig in einer Unix-Umgebung arbeiten, benötigen Sie den Befehl expand :

Paralife
quelle
1
Ist Notepad ++ nicht nur Windows?
Person
1

Einstellungen> Einstellungen> Registerkarteneinstellungen Aktivieren Sie das Kontrollkästchen "Durch Leerzeichen ersetzen". Beachten Sie darüber, dass es eine Tabulatorgröße gibt: 4 Klicken Sie auf die vier und ein Fenster mit der Option, den Wert in eine andere Ganzzahl zu ändern, wird geöffnet.

Geben Sie die gewünschte Ganzzahl ein und drücken Sie die ENTER-Taste.

Da hast du es <3.

Shawn Reeder
quelle