在vim中,如何在我的文件上运行以下逻辑:
如果行
n
没有以分号结尾,请连接行n
和n + 1
。
我有破坏SQL语句的文件:
破解版
select * from tab1;
select col4, col5 from
tab5;
insert into
tab6 values(
2, 4);
所需版本
select * from tab1;
select col4, col5 from tab5;
insert into tab6 values(2, 4);
答案 0 :(得分:4)
:v/;$/normal J
您可能需要多次运行。
编辑:这是解决在多个(> 2)行分割的行的解决方案:
%s/^\s*$\|\([^;]\)\s*\n/\1/g
注意:由于^ \ s * $
,空行被保留,但被修剪答案 1 :(得分:1)
无耻的“肮脏”“黑客”; - )
:1,$ join
将文件中的每一行连接到一个,但您可以调整范围...
:s:;:&\r:g
这取代了每一个;用;和换行符
HTH