我在vim中运行此命令:echom system("date")<CR>
。
我的预期输出是这样的:Sat Jan 10 12:28:58 CET 2015
但它总是附加恼人的^@
以便输出如下:Sat Jan 10 12:28:58 CET 2015^@
为什么呢?
我怎么能轻易避免这个?
当我在终端中运行date
时,它会给我预期的输出。当然还有换行符(* 1)。所以我的猜测是,^@
来自换行符,对吧?
我使用utf-8编码在gnome-terminal
的终端版本(不是gui版本!)中运行debian(来自官方存储库的版本)的vim 7.3。
(* 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$
答案 0 :(得分:3)
^@
确实来自date
以换行符(\n
)结尾的事实。
你可以:
删除尾随字符(这只会输出预期结果,如果命令以换行符结尾):
:echom system("date")[:-2]
替换尾随的\n
(更详细一点):
:echom substitute(system("date"), '\n$', '', '')