回显时间戳附加烦人的" ^ @"

时间:2015-01-10 11:43:08

标签: date vim

我在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$

1 个答案:

答案 0 :(得分:3)

^@确实来自date以换行符(\n)结尾的事实。
你可以:

  • 删除尾随字符(这只会输出预期结果,如果命令以换行符结尾):

    :echom system("date")[:-2]

  • 替换尾随的\n(更详细一点):

    :echom substitute(system("date"), '\n$', '', '')