O que é um ^ @ in vim?


7

Estou executando um Vimscript que recupera o resultado de uma mensagem e o redireciona para uma variável vimscript. Quando o conteúdo da variável vimscript é exibido, ele possui ^ ^. O que isso representa e como posso me livrar dele?

Respostas:


10

^@, se você olhar man ascii, é o caractere ASCII NUL. E com a ajuda :

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}

Você deve eliminá-lo da fonte. Se isso não for uma opção, use-o <c-@>conforme fornecido nos documentos:

:s/^@//g
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.