Notepad++: Erstellen eines Makros zum Ersetzen von ausgewähltem Text

Notepad++: Erstellen eines Makros zum Ersetzen von ausgewähltem Text

Ich brauche ein Notepad++ Makro, dasSuchen und Ersetzen, sondern für den Textteil, der beim Ausführen des Makros hervorgehoben ist.

Ich habe versucht, ein Makro aufzuzeichnen, aber es zeichnet den Teil des Textes auf, den ich zum Zeitpunkt der Aufzeichnung des Makros markiert hatte. Das ist nicht das, was ich will. Ich muss dasSuchen und Ersetzenfür einen anderen Text jedes Mal, wenn ich das Makro ausführe.

Nach der Aufzeichnung eines Makros AppData\Notepad++\shortcuts.xmlerscheint Folgendes:

<Macro name="SaR_macro" Ctrl="yes" Alt="no" Shift="yes" Key="89">
    <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1601" wParam="0" lParam="0" sParam="some text" />
    <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1602" wParam="0" lParam="0" sParam="" />
    <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
    <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />

Gibt es vielleicht eine Möglichkeit, anstelle von some textoben etwas wie „aktuelle Auswahl“ einzufügen? Soll ich es so machen?

BEARBEITEN:

Genauer gesagt, was ich erreichen möchte. Nehmen wir an, ich habe eine txt-Datei, die so aussieht:

text text text text text - qwerty
text text text text - asdf
text text text text text text - zxc

Und die Situation, die ich erreichen möchte, ist: Ich wähle aus - qwerty, dann drücke ich eine Makro-Tastenkombination und als Ergebnis habe ich das - qwertyin etwas anderes geändert. Dann wähle ich aus - asdf, als nächstes drücke ich eine Makro-Tastenkombination und als Ergebnis habe ich das - asdfin dasselbe geändert wie zuvor. Als nächstes passiert dasselbe mit - zxc.

Antwort1

Ich fürchte, das ist mit einem einzigen Hotkey nicht möglich.

Dennoch gibt es eine Alternative:

Sie können ein Python-Skript innerhalb des PythonScript-Plugins ausführen.

Wenn es noch nicht installiert ist, folgen Sie diesenFührung

  • Erstellen Sie ein Skript (Plugins >> PythonScript >> Neues Skript)
  • Kopieren Sie diesen Code und speichern Sie die Datei (zum Beispiel replace_highlight.py):

editor.replaceSel('new text')

  • Gehe zu Plugins >> PythonScript >> Konfiguration
  • Wählen Sie das Skript replace_highlight.py
  • Speichern
  • Starten Sie Notepad++ neu (ein PythonScript-Symbol wird in der Symbolleiste angezeigt)
  • Öffnen Sie die Datei, die Sie ändern möchten
  • Markieren Sie den Text, den Sie ersetzen möchten
  • Klicken Sie auf das zuvor erstellte Symbol
  • Erledigt

Wenn Sie ersetzen möchtenalle Vorkommendes ausgewählten Textes verwenden Sie den folgenden Code:

editor.replace(editor.getSelText(), 'NEW TEXT')

verwandte Informationen