Ich möchte ein Notepad ++ - Makro definieren, das eine beliebige Zeichenfolge verwendet, die "foo" enthält, und dessen neue Versionen erstellt, wobei das foo nur in "bar1", "bar2" usw. geändert wird.
also wenn meine datei enthält
abc_foo_def
Wenn ich das Makro starte, möchte ich bekommen
abc_foo_def
abc_bar1_def
abc_bar2_def
abc_bar3_def
Versuch 1
Ich habe versucht, ein Makro mit Ctrl + D
(doppelte Zeile) gehen Sie in die unterste Zeile und starten Sie "foo", drücken Sie 3-mal die Entf-Taste, dann schreiben Sie "bar1", wiederholen Sie bis bar3. Beachten Sie, dass selbst wenn dies funktioniert, dies nicht für mehrere "foo" in der Eingabezeile funktioniert. Es funktioniert jedoch nicht wie erwartet.
Versuch 2
Ein anderes Makro wurde mit dem Duplizieren versucht, indem die zweite Zeile Search & Replace "foo" mit "bar" ausgewählt und das In Selection
Kontrollkästchen aktiviert wurde. Aber ich denke, es gilt nicht für Makros.
Also suche ich einen zuverlässigen Weg. Danke für jede Hilfe!
PS 1
Ich bin auch in Ordnung mit einer Lösung ohne Notepad ++. (Excel, Word, was auch immer)
PS 2
Meine Eingabezeichenfolge kann mehr als ein "foo" enthalten. Jeder sollte durch "barx" ersetzt werden
find
und Verkettungsfunktionen Ihre Zeichenfolgen erstellen. Wenn andere Bedingungen erfüllt sind, kann dies ein regulärer Ausdruck in Notepad ++ tun.Antworten:
Ich bin mir nicht sicher, warum dein Versuch 2 fehlgeschlagen ist. Vielleicht haben Sie beim Aufzeichnen des Makros Ihre Maus verwendet? Ich bin mir ziemlich sicher, dass Sie bessere Ergebnisse erzielen, wenn Sie beim Aufzeichnen eines Makros nur die Tastatur verwenden.
Ich habe gerade das folgende Makro in Notepad ++ 6.6.9 aufgenommen. Es funktioniert für eine variable Anzahl von "foo" -Strings in der Quellzeile.
Aufzeichnung:
Aufnahme beenden
Hier ist das XML von
%AppData%\Notepad++\shortcuts.xml
:quelle