我知道thread。
我跑
:%s/ /s/\n/g
我得到了
E488: Trailing characters
第二个例子
我跑
:%s/ /\n/g
我得到了
text^@text
我也使用以下设置运行相同的代码
set fileformat=unix
和
set fileformat=dos
如何用Vim中的新行代替?
答案 0 :(得分:120)
:%s/ /
Ctrl v 返回 /g
其中 Ctrl v 是Control-key加上键v和返回是返回键(主键盘上的键,而不是键盘上的回车键)。其他字符像往常一样输入。
如果输入正确,序列 Ctrl v 返回将显示为字符^M
,通常为不同颜色,表示它们是特别。请注意,实际输入^M
将不工作。
另请注意,在Vim for windows中,它是Control-q而不是Control-v(因为它是粘贴)。
Ctrl-v还允许通过键盘输入其他“特殊”键。它对于例如它也是有用的。标签或退格。
答案 1 :(得分:44)
尝试
%s/ /\r/g
答案 2 :(得分:8)
输入以下内容:
:s/ /
现在键入Ctrl-V或Ctrl-Q(取决于您的配置)并按Enter键。你现在应该:
:s/ /^M
完成它:
:s/ /^M/g
你很高兴。
答案 3 :(得分:2)
尝试
对于Unix:
:1,$s/\ /\n/g
对于Windows:
:1,$s/\ /\r/g
这包含空格的转义字符。
答案 4 :(得分:2)
专门用于回答您的尾随字符问题,这是您指定的正则表达式:
:%s/ /s/\n/g
你有太多/
。发生的情况是您将{'替换为s
,然后在替换后对此进行标记:\n/g
我认为你的意思是:
:%s/ \s/\n/g
请注意,您的/s
已更改为\s
。现在,替换将替换一个空格,后跟一个\n
的任何类型的空格(空格或制表符)。我怀疑这是否解决了问题或用换行符替换空格,但它应该解释错误信息。