我知道线程。
我跑
:%s/ /s/\n/g
我懂了
E488: Trailing characters
第二个例子
我跑
:%s/ /\n/g
我懂了
text^@text
我也分别使用以下设置运行相同的代码
set fileformat=unix
和
set fileformat=dos
如何在Vim中用新行替换?
我知道线程。
我跑
:%s/ /s/\n/g
我懂了
E488: Trailing characters
第二个例子
我跑
:%s/ /\n/g
我懂了
text^@text
我也分别使用以下设置运行相同的代码
set fileformat=unix
和
set fileformat=dos
如何在Vim中用新行替换?
Answers:
:%s/ /
Ctrl vReturn/g
其中Ctrl vControl键为加键v,Return为返回键(主键盘上的一个,而不是数字键盘上的Enter键)。其他字符照常键入。
如果输入正确,该序列Ctrl vReturn将显示为字符^M
,通常以不同的颜色表示它们是特殊的。请注意,其实打字^M
会不会工作。
还要注意,在Windows的Vim中,它是Control-q而不是Control-v(因为它是粘贴的)。
Ctrl-v还允许通过键盘输入其他“特殊”键。对于Tab或Backspace也很有用。
<CTRL-V>
是Control键加键v。如果将其复制并粘贴,将无法使用。
输入以下内容:
: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
。我怀疑这是否解决了问题或用换行符替换了空格,但它应该解释错误消息。