Was ist ein ^ @ in vim?

7

Ich führe ein Vimscript aus, das das Ergebnis einer Nachricht abruft und es in eine Vimscript-Variable umleitet. Wenn der Inhalt der vimscript-Variablen angezeigt wird, enthält sie ein ^ @. Was bedeutet das und wie kann ich es loswerden?

leeand00
quelle

Antworten:

10

^@Wenn Sie sich das ansehen man ascii, ist dies das ASCII NUL-Zeichen. Und von der Hilfe :

Technical detail:               *NL-used-for-Nul*
<Nul> characters in the file are stored as <NL> in memory.  In the display
they are shown as "^@".  The translation is done when reading and writing
files.  To match a <Nul> with a search pattern you can just enter CTRL-@ or
"CTRL-V 000".  This is probably just what you expect.  Internally the
character is replaced with a <NL> in the search pattern.  What is unusual is
that typing CTRL-V CTRL-J also inserts a <NL>, thus also searches for a <Nul>
in the file.  {Vi cannot handle <Nul> characters in the file at all}

Sie sollten versuchen, es aus der Quelle zu entfernen. Wenn dies keine Option ist, gehen Sie <c-@>wie in den Dokumenten angegeben vor:

:s/^@//g
muru
quelle