Một ^ @ trong vim là gì?


7

Tôi đang chạy một Vimscript lấy kết quả của một tin nhắn và chuyển hướng nó đến một biến vimscript. Khi nội dung của biến vimscript được hiển thị, nó có ^ @ trong đó. Điều đó thể hiện điều gì và làm thế nào tôi có thể thoát khỏi nó?

Câu trả lời:


10

^@, nếu bạn nhìn vào man ascii, là ký tự ASCII NUL. Và từ sự giúp đỡ :

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}

Bạn nên xem xét loại bỏ nó khỏi nguồn. Nếu đó không phải là một lựa chọn, hãy làm, sử dụng <c-@>như được đưa ra trong các tài liệu:

:s/^@//g
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.