我了解线程。
我运行
:%s/ /s/\n/g
I get
E488: Trailing characters
第二个例子
我奔跑
:%s/ /\n/g
我理解
text^@text
我也使用以下设置独立运行相同的代码
set fileformat=unix
andset fileformat=dos
Vim如何使用新行替换文本?
:%s/ /
Ctrl vReturn/g
其中,Ctrl v是Control键加上v键,Return是回车键(主键盘上的那个回车键,而不是数字小键盘上的enter键)。其他字符按照平常输入即可。
如果正确输入,序列Ctrl vReturn将显示为^M
字符,通常以不同颜色显示以表示它们是特殊字符。请注意,实际键入^M
将不能起作用。
此外,请注意,在Windows中的Vim中,应该使用Control-q而不是Control-v(因为Control-v是粘贴)。
Ctrl-v还允许通过键盘输入其他“特殊”键,例如Tab或Backspace等,也很有用。
请尝试
%s/ /\r/g
请按照以下步骤操作:
:s/ /
现在按下Ctrl-V或Ctrl-Q(取决于您的配置)并按Enter键。您现在应该有:
:s/ /^M
:s/ /^M/g
然后你就可以开始了。
:%s/ /s/\n/g
/
。会发生的情况是你用s
替换了空格,然后在替换后加上了这个标记:\n/g
我认为你的意思是::%s/ \s/\n/g
/s
已更改为\s
。现在,替换将用\n
替换任何一种空格或制表符后跟一个空格。我怀疑这是否解决了将空格替换为换行符的问题,但它应该可以解释错误消息。尝试以下方法之一
对于Unix系统:
:1,$s/\ /\n/g
For Windows:
:1,$s/\ /\r/g
这个包含了一个空格的转义字符。
:%s/ /<Ctrl+v>/g
,无需按回车键。 - GACy20