我跑
:%s/ /s/\n/g
我得到
E488: Trailing characters
第二個示例
我跑
:%s/ /\n/g
我得到
text^@text
我運行相同的代碼還具有以下設置separetaly
set fileformat=unix
和
set fileformat=dos
你怎麼能在Vim的新行替換?
我跑
:%s/ /s/\n/g
我得到
E488: Trailing characters
第二個示例
我跑
:%s/ /\n/g
我得到
text^@text
我運行相同的代碼還具有以下設置separetaly
set fileformat=unix
和
set fileformat=dos
你怎麼能在Vim的新行替換?
:%s/ /
Ctrl鍵v返回/g
凡Ctrl鍵v是控制鍵加號鍵v和返回是返回鍵(主鍵盤上的一個,而不是回車鍵在numpad上)。其他字符照常輸入。
如果輸入正確,序列Ctrl鍵v返回將顯示爲字符^M
,通常以不同的顏色,以表明他們是特殊的。請注意,實際打字^M
將不是工作。
另請注意,在Vim for windows中,它是Control-q而不是Control-v(因爲它是粘貼)。
CTRL-V還允許通過鍵盤輸入等 「特殊」 鍵。它也適用於例如Tab或Backspace。
嘗試
%s/ /\r/g
輸入以下命令:
:s//
,現在按Ctrl-V或Ctrl-Q(取決於您的配置),然後按Enter鍵。你現在應該有:
:s/ /^M
完成它:
:s/ /^M/g
,你是好去。
嘗試要麼
對於Unix:
:1,$s/\ /\n/g
對於Windows:
:1,$s/\ /\r/g
這包含空格轉義字符。
具體到尾隨字符回答你的問題,這是你所指定的正則表達式:
:%s/ /s/\n/g
你有太多的/
。什麼情況是,你s
替換「」,然後替換後這個標籤:\n/g
我想你的意思是這樣的:
:%s/ \s/\n/g
請注意,您/s
改爲\s
。現在替換將用\n
替換一個空格,後面跟一個任意類型的空格(空格或製表符)。我懷疑這是否能解決問題或用換行符替換空格,但應該解釋錯誤消息。
我接受答案,因爲它是最獨立於系統的。 samoz答案也有效。令人驚訝的是Windows的命令在我的OS/X中運行,而不是Unix命令。 – 2009-06-26 13:40:02
:%s// \ r/g也適用於所有操作系統。 – DrAl 2009-06-26 14:23:34