回显时间戳附加烦人的“^@”
echoing timestamp appends annoying "^@"
i 运行 这个命令 :echom system("date")<CR>
在 vim.
我的预期输出是这样的:Sat Jan 10 12:28:58 CET 2015
但它总是附加一个烦人的 ^@
所以输出是这样的:Sat Jan 10 12:28:58 CET 2015^@
为什么?
我怎样才能轻松避免这种情况?
当我在终端中 运行 date
时,它给了我预期的输出。当然还有一个换行符 (*1)。所以我猜 ^@
来自换行符,对吧?
i 运行 vim debian 7.3(来自官方存储库的版本)在终端版本中,(不是 gui 版本!)在 gnome-terminal
with utf-8编码。
(*1):提示如下所示
user@host$ date
Sam Jän 10 12:28:58 CET 2015
user@host$
不是这样的:
user@host$ date
Sam Jän 10 12:28:58 CET 2015user@host$
^@
确实来自 date
以换行符 (\n
) 结尾的事实。
您可以:
删除尾随字符(这只会输出预期的结果如果命令以换行符结尾):
:echom system("date")[:-2]
替换尾随的 \n
(有点冗长):
:echom substitute(system("date"), '\n$', '', '')
i 运行 这个命令 :echom system("date")<CR>
在 vim.
我的预期输出是这样的:Sat Jan 10 12:28:58 CET 2015
但它总是附加一个烦人的 ^@
所以输出是这样的:Sat Jan 10 12:28:58 CET 2015^@
为什么?
我怎样才能轻松避免这种情况?
当我在终端中 运行 date
时,它给了我预期的输出。当然还有一个换行符 (*1)。所以我猜 ^@
来自换行符,对吧?
i 运行 vim debian 7.3(来自官方存储库的版本)在终端版本中,(不是 gui 版本!)在 gnome-terminal
with utf-8编码。
(*1):提示如下所示
user@host$ date
Sam Jän 10 12:28:58 CET 2015
user@host$
不是这样的:
user@host$ date
Sam Jän 10 12:28:58 CET 2015user@host$
^@
确实来自 date
以换行符 (\n
) 结尾的事实。
您可以:
删除尾随字符(这只会输出预期的结果如果命令以换行符结尾):
:echom system("date")[:-2]
替换尾随的
\n
(有点冗长)::echom substitute(system("date"), '\n$', '', '')