Ich bin dabei, Emacs als einzigen Editor zu übernehmen, den ich für alles, was ich schreibe, einschließlich LaTeX-Dokumenten, verwende. Ich kam vom WYSIWYG-Editor, der diesem Zweck ziemlich gut diente, nämlich TexStudio oder kurz TXS. Für den Übergang von TXS zu Emacs fehlt mir immer noch die Art und Weise, wie TXS mit der Ausführung einer massiven Regexp-Abfragesuche umgeht und diese ersetzt, indem die Übereinstimmungen hervorgehoben und die Suche nur auf diese projektbezogenen .tex
Dateien beschränkt wird. Das vermisse ich jetzt in Emacs sehr. Unten sehen Sie einen Screenshot von TXS:
TeXStudio-Abfrage in einem Multifile-LaTeX-Projekt
Ich möchte die Punkte im Workflow hervorheben, die in Emacs erreicht werden sollen:
- RegExp-Abfragesuche und -ersetzung nur in den projektbezogenen
.tex
Dateien. - Markieren Sie die Übereinstimmungen
- Eine Übersicht über die hervorgehobenen Ergebnisse in einem überschaubaren Layout (ähnlich der Protokollansicht von
Magit
in Emacs, wenn Sie drücken,l
gefolgt von einem anderenl
oder einfach wieC-x d
im Dired-Modus - Erfahren Sie, wie viele Ersetzungs- oder Inspektionsübereinstimmungen mit oder verbleibende Übereinstimmungen durchgeführt wurden und wie Sie die Abfrage fortsetzen können, falls sie durch einen ungeschickten Tastendruck unterbrochen wird, der die Abfrage stoppt
- Ein sauberer Ausweg aus dieser chaotischen Abfrage, indem Sie alle zugehörigen Dateien schließen und speichern und in den Status zurückkehren, bevor Sie diese Abfrage aufrufen
Ich habe diesen Beitrag gelesen, aber meine Absicht ist es, CW
dass jeder seinen besten Workflow teilen kann, um diesen gemeinsamen Job zu erledigen. Meine aktuellen Ansätze lauten wie folgt:
Erster Workflow
- Der Dired-Modus
% g
markiert alle Dateien, die diesen regulären Ausdruck enthalten. Nachteile: Dies schließt auch Dateien ein, die nicht mit dem Projekt zusammenhängen, einschließlich Nicht-.tex-Dateien. C-x 3
öffnet einen neuen Puffer und behält dabei den ersten Puffer im Auge, um zu überprüfen, welche markierten Dateien ich im neuen Puffer einzeln abfragen muss- Ausführen der Abfrage durch
C-c q
. Es hat sehr schöne Schalter wie!
alle ersetzen ohne zu fragen und Übereinstimmungen in der geöffneten Datei hervorzuheben. Dies bedeutet jedoch, dass ich jedes Mal und für jede markierte Datei dieselbe Abfrage ausführen muss. - Nachdem ich alle markierten Dateien erstellt habe, drücke ich
C-x s !
, um alle auf einen Schlag zu speichern. Puh!
Zweiter Workflow - bevorzugt
- Das Markieren aller
.tex
Dateien% m
im Dired-Modus durch Regexp, um nur.tex
Dateien zu markieren , damit ich im Grunde genommen ausgeführt\.tex
werde, bringt mich dorthin. C-x 3
Wie oben, um einen Puffer für die Übersicht und den anderen für die Abfrage zu behalten- Die Ausführung
Q
innerhalb von Dired (Abfrage) ersetzt reguläre Ausdrücke nur in markierten Dateien. AlternativA
ist nur Regexp-Suchabfrage. Eine vollständige Abfrage wird ausgeführt und ein Hilfemenü von?
wird großzügig bereitgestellt C-x s !
Speichern und schließen Sie das ganze Chaos. Ansonsten musste ich die geöffneten Dateien einzeln schließen, was mühsam ist. Ich hoffe, es gibt eine Möglichkeit, nur die zu schließen, die wir gestört haben.
Wie approximiere ich die Regexp-Such- / Ersetzungsabfrage von TXS in mehreren Dateien?
Hinweis
- Emacs 24.4 unter Windows 7