VIM:如何搜索匹配没有特定字符的行?

Ari*_*aul 2 vi vim search design-patterns text-mining

我有一些来自ldiff文件的这样的行,

dn: cn=dkalland_directs_ww,cn=org_groups,cn=beehive_groups,cn=groups,dc=oracle
,dc=com
businesscategory: open
cn: dkalland_directs_ww
description: Directs Group for daniel.kallander@oracle.com
displayname: dkalland_directs_ww
mail: dkalland_directs_ww@oracle.com
objectclass: top
objectclass: orclGroup
objectclass: groupOfUniqueNames
orclglobalid: modified
orclnormdn: cn=dkalland_directs_ww,cn=org_groups,cn=beehive_groups,cn=groups,d
c=oracle,dc=com
owner: cn=BHGRPADMIN_WW,L=AMER,DC=ORACLE,DC=COM
uniquemember: cn=mattias_tobiasson,dc=us,dc=oracle,dc=com
uniquemember: cn=mattias_joelson,dc=us,dc=oracle,dc=com
uniquemember: cn=markus_persson,dc=us,dc=oracle,dc=com 
...
Run Code Online (Sandbox Code Playgroud)

现在因为有一些行是前一行的延续.我想加入他们各自的路线.

我感到困惑的是如何在没有":"角色的情况下搜索一条线,以便我可以将它与前一行连接起来.

Plz的帮助.

Ren*_*ger 11

我相信你想做一个

:v/:/-1j
Run Code Online (Sandbox Code Playgroud)

v命令选择与patterh 匹配的所有行/:/.的-1选择线的上方之一.并将j此行与下一行(即使用该v命令选择的行)连接起来

编辑 Benoit和dash-tom-bang在他们的评论中提供了实质性的改进:1没有必要,因为它是默认的,并且!没有用空格连接线.因此,这导致以下更好的版本:

:v/:/-j!
Run Code Online (Sandbox Code Playgroud)

  • 注意,`1`不是强制性的:`:v /:/ - j`也可以.当使用范围的`+`和`-`一元运算符时,`1`是默认计数. (4认同)