无法用Vim中的新行replace空格
我知道线程 。
我跑
:%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是Control-key加v和Return是返回键(主键盘上的那个,而不是数字键盘上的回车键)。 其他字符照常input。
如果input正确, Ctrl + Return的顺序将显示为^M
,通常用不同的颜色表示它们是特殊的。 请注意,实际input^M
将不起作用。
还要注意,在Vim for windows中,它是Control-q而不是Control-v(因为这是粘贴)。
Ctrl-v还允许通过键盘input其他“特殊”键。 这对于Tab或Backspace也是有用的。
尝试
%s/ /\r/g
input以下内容:
:s/ /
现在键入Ctrl-V或Ctrl-Q(取决于您的configuration)并按Enter键。 你现在应该有:
:s/ /^M
完成它:
:s/ /^M/g
你很好走。
试试
对于Unix:
:1,$s/\ /\n/g
对于Windows:
:1,$s/\ /\r/g
这包含空间的转义字符。
特别要回答你的问题与尾随字符,这是你指定的正则expression式:
:%s/ /s/\n/g
你太多了。 会发生什么是你用s
replace'',然后你在replace后标记: \n/g
我认为你的意思是:
:%s/ \s/\n/g
请注意,您的/s
被更改为\s
。 现在replace会用\n
replace一个空格,后面跟任何一种空格(空格或制表符)。 我怀疑这是否解决了问题或用换行符replace空格,但应该解释错误消息。