Ich möchte eine grep-ähnliche Funktionalität in Notepad ++ haben.
In der einfachsten Version möchte ich in der Lage sein, alle Zeilen aus dem aktuellen Puffer, die das Wort enthalten, foo
in einen neuen Puffer zu kopieren . Ich kann das TextFX-Plugin verwenden, um alle Zeilen ohne auszublenden foo
, aber das macht nicht alles, was ich will (es geht verloren auf Alt- Tab, ich kann nicht nur die passenden Zeilen kopieren usw.).
grep -v
.Ich habe mich nur mit der gleichen Frage befasst. Ich bin mir nicht sicher, ob Sie es wissen. Im Dialogfeld "Suchen" können Sie "Alle in aktuellem Dokument suchen" auswählen. Daraufhin wird unten ein Fenster mit den übereinstimmenden Zeilen angezeigt. Dann können Sie das in ein neues Dokument kopieren.
Leider enthält das Ergebnis einige irrelevante Informationen (Zeilennummer usw.), die Sie jedoch im Spaltenmodus herausfiltern können.
quelle
Eine weitere großartige Lösung ist die Verwendung des NppExec-Plugins, um einen grep-Befehl für Notepad ++ hinzuzufügen.
Der Hauptvorteil gegenüber der "Lesezeichen" -Lösung besteht darin, dass sie insbesondere bei großen Dateien viel schneller ausgeführt wird und Sie Ihre Originaldatei nicht ändern müssen. Beachten Sie, dass Sie einmal ein kleines Skript erstellen müssen, um diese Funktion in Ihrem Notepad ++ verfügbar zu machen.
Mein Lösungsbeispiel ist für Windows und ich verwende findstr , ein grep-ähnliches Befehlstool, das auf allen Windows-Computern verfügbar ist. Aber Sie können natürlich nutzen auch andere grep Klon Ihrer Wahl.
Schritt 1: Installieren Sie das NppExec-Plugin
Gehen Sie zu
Plugins / Plugin Manager / Show Plugin Manager
, scrollen Sie nach unten zu NppExec, wählen Sie dieses Plugin aus und klicken Sie auf Installieren. Möglicherweise müssen Sie Ihren Notepad ++ neu starten, um den Installationsvorgang abzuschließen.Schritt 2: Erstellen Sie ein kleines Skript für NppExec
Gehen Sie zu
Plugins / NppExec / Execute
, geben Sie das folgende Skript ein und speichern Sie es als "grep":(Bitte überprüfen Sie, ob der Pfad für die OUTFILE für Ihre Umgebung funktioniert.)
Schritt 3: Fügen Sie einen Menüeintrag für Ihr Skript hinzu (optional)
Gehen Sie zu
Plugins / NppExec / Advanced Options
, wählen Sie das Skript "grep" unterAssociated script
und klicken Sie auf OK, um zu speichern. Starten Sie Notepad neu, wie von NppExec angefordert, um das Hinzufügen des neuen Menüelements abzuschließen.Schritt 4: Fügen Sie eine Verknüpfung für Ihr Skript hinzu (optional)
Gehen Sie zu
Settings / Shortcut Mapper / Plugin commands
, scrollen Sie nach unten, um Ihren Skriptbefehl "grep" zu finden, und definieren Sie eine Verknüpfung dafür. z.BALT-G
quelle
$(FULL_CURRENT_PATH)
Gibt keinen Pfad zurück, wenn die Datei noch nicht gespeichert ist. Sie könnten erwarten, dass es sich irgendwo befindet (temporäres Verzeichnis?), Aber nicht wirklich. Diese ungespeicherte Dateisituation kann durchaus üblich sein. Fügen Sie einfach etwas aus einem Protokoll ein, um es zu überprüfen. Wir können dieses Skript perfektionieren, um die Datei zu speichern, wenn sie noch nicht gespeichert ist. Der Einfachheit halber möchte ich mich jedoch nur daran erinnern, sie zu speichern manuell vor dem Greifen. Vielen Dank.Schritt 5: Erstellen Sie ein Skript zum schnellen Speichern und Speichern eines Grep-Dokuments
Gehen Sie zu Plugins / NppExec / Execute, geben Sie das folgende Skript ein und speichern Sie es als "grep":
quelle
findstr
wenn Sie die Autosavefile-Datei anstelle der aktuellen Datei verwenden? (6) Warum verwendet Ihre Antwort sowohlC:\temp
als auchC:\tmp
? …… Bitte antworten Sie nicht in Kommentaren; Bearbeiten Sie Ihre Antwort, um sie klarer und vollständiger zu gestalten.