vimの^ @とは何ですか?


7

メッセージの結果を取得してvimscript変数にリダイレクトするVimscriptを実行しています。vimscript変数の内容が表示されると、^ @が含まれます。それは何を表し、どうすればそれを取り除くことができますか?

回答:


10

^@を見るman asciiと、ASCII NUL文字です。そして助けから:

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}

ソースからそれを排除することを検討する必要があります。それがオプションでない場合<c-@>は、ドキュメントに記載されているように使用してください:

:s/^@//g
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.