You are here

Spaß mit gcc und geschützten Leerzeichen

Wenn ich von meinem Mac aus in einem Vim auf einem anderen Rechner programmiere beschwert sich gcc öfter mal über folgendes und weigert sich die Datei zu kompilieren:

some_source.cpp:519:2: error: stray ‘\302’ in program
some_source.cpp:519:2: error: stray ‘\240’ in program

Nachdem ich mir lange Zeit immer damit behalf die Zeile zu löschen und neu zu schrieben, war das auf die Dauer doch etwas unbefriedigend. Bei Stackoverflow fand ich dann den Hinweis in die richtige Richtung. Das Problem ergibt sich durch versehentlich eingegebene geschützte Leerzeichen.

Mit diesem Wissen ist es möglich Vim zu sagen, dass er diese im Code markieren soll, so dass man sie gezielt löschen kann.

set listchars=nbsp:_
set list

Der listchars-Befehl legt fest wodurch welches Zeichen ersetzt werden soll, der list-Befehl aktiviert die Ersetzung. Ich lasse mir die geschützten Leerzeichen durch einen Unterstrich anzeigen, prinzipiell ist hier fast jedes Zeichen möglich. Da die ersetzten Zeichen in einer anderen Farbe dargestellt werden kann man sie auch nicht mit regulären Unterstrichen verwechseln. Außerdem lasse ich mir prinzipiell auch Tabulatoren und überschüssige Leerzeichen am Zeilenende anzeigen, so dass diese Zeile in meiner .vimrc jetzt so aussieht:

set listchars=tab:»·,trail:·,nbsp:_

Sollten dir die Artikel auf dieser Seite gefallen und du Bitcoin für ein interessantes Experiment halten, so schicke doch eine kleine Spende an 14pQyjx5EFQCwPBkXMTz5nTcfPsnjHmWqA.