Die Syntaxhervorhebung schlägt im Fenster "Klon-Indirekter-Puffer-Anderes" fehl

7

Normalerweise verwende ich indirekte Puffer, während ich Python-Code im Python-Modus bearbeite. Ich erstelle sie durch Ausführen clone-indirect-buffer-other-window. Während die Syntaxhervorhebung des Hauptpuffers gut aussieht, ist sie im indirekten manchmal falsch. Insbesondere scheinen einige abschließende Anführungszeichen ignoriert zu werden, so dass große Teile meines Codes farbig sind, als wären sie Teil einer langen Literalzeichenfolge.

Ich habe anderswo keine Hinweise darauf gefunden und habe keine Ahnung, warum es passieren könnte. Weiß jemand warum das so ist und / oder wie man es löst?

Diese Frage könnte zusammenhängen, sei es, dass er keine indirekten Puffer erwähnt (ich habe nur dieses Problem mit diesen), und auch mein indirekter Puffer wird nicht auf die richtige Syntaxhervorhebung aktualisiert, selbst wenn einige Minuten gewartet wird.

jmlorenzi
quelle
Warum verwenden Sie überhaupt einen indirekten Puffer? Sie können den Hauptpuffer in zwei verschiedenen Fenstern anzeigen, wenn Sie danach suchen.
Lindydancer
1
Wenn das Problem mit der neuesten öffentlichen Version von Emacs besteht, sollten Sie einen Fehlerbericht mit möglichst vielen Details zum Problem einreichen. Wenn Sie eine ältere Version von Emacs verwenden, versuchen Sie es mit der neuesten öffentlichen Version. Wenn Sie Emacs Trunk verwenden, sollten Sie auch einen Fehlerbericht mit vielen Details einreichen.
Lawlist
@ Lindydancer indirekte Puffer sind nützlicher, wenn ich zwei feste Stellen eines langen Puffers offen halten möchte, nachdem ich meine Fenster auf andere Puffer
umgestellt habe
@lawlist Ja, ich werde herumspielen, um mehr Details zu erhalten und den Fehler zu senden. Ich habe gerade den Fehler mit inemacs -q
jmlorenzi

Antworten:

0

Indirekte Puffer saugen. Sie sehen vielleicht aus wie "genau das, was ich brauche", aber es ist sehr selten der Fall, und dann stoßen Sie früher oder später auf Probleme. IOW, ich denke, sie sind ein attraktives Ärgernis .

Ich empfehle Ihnen, herauszufinden, warum Sie indirekte Puffer verwenden möchten, und dann nach anderen Möglichkeiten zu suchen, um das gleiche Ergebnis zu erzielen.

ZB sagst du:

indirect buffers are more useful if I want to keep two fixed places
of a long buffer open after switching my windows to other buffers

Es gibt viele andere Möglichkeiten, die viel weniger aufdringlich sind als die Verwendung indirekter Puffer. Verwenden Sie beispielsweise Register , Lesezeichen oder ein Paket, das versucht, sich zu merken, welcher Punkt für Ihre Puffer in jedem Fenster einzeln verwendet wurde. Zum Beispiel haben wir in Emacs 'Hauptzweig jetzt switch-to-buffer-preserve-window-pointstandardmäßig aktiviert, was einen Teil des Verhaltens liefern sollte, nach dem Sie über indirekte Puffer gesucht haben.

Stefan
quelle
1
Dies gibt keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klärung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. - Von Review
erikstokes
Wenn Sie es nicht als gültige Antwort erkennen, liegt dies daran, dass Sie mit indirekten Puffern nicht vertraut genug sind.
Stefan
@Stefan, obwohl Sie vielleicht Recht haben, folgen Sie auch nicht dem von dieser Site angeforderten Format: Wenn Sie die Frage beantworten können, schreiben Sie eine Antwort. Wenn die Frage ungültig ist und geändert werden sollte, schreiben Sie einen Kommentar.
Trevoke
Die Frage ist definitiv gültig, und ich habe sie schon oft gehört, weshalb ich denke, dass es wichtig ist, sie so zu beantworten, wie sie ist, anstatt zu versuchen, den Autor dazu zu bringen, sie zu "reparieren". Ich ziehe es vor, ein paar Wiederholungspunkte zu verlieren, als dogmatisch einer Politik zu folgen.
Stefan
1
Ich stimme Stefan zu. Frage und Antwort sind gültig. Die Antwort könnte neutraler formuliert werden. ZB "Indirekte Puffer saugen. Sie" könnten durch "Indirekte Puffer" ersetzt werden.
Tobias
0

Sie können Just Another Cloning- Paket ausprobieren .

Installation: Legen Sie jac.elin ein beliebiges Verzeichnis von Ihrem load-pathund Put

 (autoload 'jac "jac")

in Ihre Init-Datei.

Verwendung: Mit dem Puffer möchten Sie den Typ klonen M-x jac RET.

Es kopiert den Pufferinhalt des ursprünglichen Puffers und synchronisiert Textänderungen beider Puffer, berührt jedoch nicht die Texteigenschaften. Auf diese Weise kann Fontlock seine Arbeit in beiden Puffern unabhängig voneinander ausführen. Dies ermöglicht verschiedene Hauptmodi einschließlich Hervorheben.

Möglicherweise wird der Fehler auch durch Hervorheben verschiedener Bereiche einer Phyton-Datei vermieden. (Probier es einfach.)

Tobias
quelle