我有一个很大的文件,想要使用Vim格式化它。为此,我想删除每行末尾的换行符。
例如,
I
want
this
to be
just one
line
应该变成什么?
I want this to be just one line
我考虑通过以下命令来实现::%g/^/norm!‹a keyword that deletes the \n›
但是我不知道哪个关键词可以自动化按下每一行上的 Del 键。
提前致谢!
我有一个很大的文件,想要使用Vim格式化它。为此,我想删除每行末尾的换行符。
例如,
I
want
this
to be
just one
line
应该变成什么?
I want this to be just one line
我考虑通过以下命令来实现::%g/^/norm!‹a keyword that deletes the \n›
但是我不知道哪个关键词可以自动化按下每一行上的 Del 键。
提前致谢!
将缓冲区中所有行连接起来的最惯用方法是使用:join
命令:
:%j!
如果您想让Vim在合并的行之间插入空格,请删除!
符号。从问题的措辞中我推断您不想添加空格。
如果您更喜欢交互式操作,则可以执行相同的操作:
ggVGgJ
如果您想要用空格分隔连接的行,请使用J
而不是gJ
。
另一个选择是使用:substitute
命令:
:%s/\n//
ggVGJ
拆分如下:
gg
:移动到第一行;V
:进入可视模式;G
:移动到最后一行;J
:将所选内容连接成单行。为什么要使用Vim?你可以轻松地使用以下shell命令:
tr -d '\n' < file
gg!Gtr -d'\n'
。 - hlovdal