Wie vermeide ich das \xc2-Zeichen oder in meinen Codeschnipseln?

Lesezeit: 2 Minuten

Ich habe gerade eine angefangen Coding-Blogund ich verwende das SyntaxHighlighter Evolved WordPress-Plugin für die Syntaxhervorhebung meiner Snippets.

Ich bin gerade dabei, einen Pythonic-Beitrag zu schreiben, und wollte meine Code-Snippets vor der Veröffentlichung testen.

Wenn Sie innerhalb meiner Snippets auf Code doppelklicken, hört das Plugin auf, den Code hervorzuheben, sodass Sie ihn als einfachen Text auswählen können. Wenn ich jedoch Python-Code aus meinen Snippets kopiere und einfüge, enthält er \xc2 oder   chracters in. Dies führt dazu, dass Python über die Codierung schwärmt:

SyntaxError: Nicht-ASCII-Zeichen ‘\xc2’ in Datei ex2.py in Zeile 3, aber keine Codierung deklariert; sehen http://www.python.org/peps/pep-0263.html für Details

Ich möchte nicht unbedingt für jedes einzelne Python-Snippet, das ich schreibe, Codierungen deklarieren – und ich weiß nicht einmal, ob dies das Problem lösen wird.

Die beste Lösung wäre natürlich, mein Plugin nicht zu nutzen   Zeichen in der Klartextversion. Oder würde es?

Hat jemand eine Idee, wie ich dieses Problem umgehen kann?

Benutzeravatar von Alex Coplan
Alex Coplan

Ah, verstanden. Nur ein bisschen Herumstöbern in der Quelle des Plugins hat dieses Problem für mich behoben …

Wenn du verschönern das syntaxhighlighter3/scripts/shCore.js Datei, dann können Sie sehen, dass es eine Konfigurationsvariable gibt, die Folgendes enthält:

space: " "

Ich musste es nur ändern space: " " und wieder einpacken.

Ich bin auf dieses Problem gestoßen, als Python-Code von Skype kopiert wurde. Da ich vim zum Bearbeiten verwende, habe ich all dies gefunden, indem ich Folgendes getan habe:

:hls
/<space>

Dies zeigt, wo diese ungeraden Leerzeichen nicht sind, weil sie nicht hervorgehoben sind.
Ziehen Sie eines der Zeichen, das es in Register 0 speichert.
Verwenden Sie den Ersatzbefehl und verwenden Sie <ctrl-R> <0> um dieses Zeichen in die Eingabeaufforderung einzufügen.

:%s/<ctrl-R><0>/ /g

Es wird aussehen

:%s/ / /g

aber wenn es ausgeführt wird, wird es das Problem beheben.

NBSP wird sowieso nicht als Leerzeichen zum Zweck der Einrückung betrachtet, also sollten Sie sich ansehen, was das Benutzerskript vorwählen tut und ahmt es nach.

1386350cookie-checkWie vermeide ich das \xc2-Zeichen oder in meinen Codeschnipseln?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy