2015-01-10 48 views
0

我在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):提示看起來像這樣

u[email protected]$ date 
Sam Jän 10 12:28:58 CET 2015 
[email protected]$ 

不喜歡這樣的:

[email protected]$ date 
Sam Jän 10 12:28:58 CET [email protected]$ 

回答

3

^@確實來自該date以換行符結束的事實(\n )。
您可以:

  • 刪除尾隨字符(這將只輸出是否命令以換行符結束預期結果):

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

  • 替代後\n (有點更詳細):

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

+0

謝謝,我會用'substitute()'解決方案! – linluk