2011-09-08 7 views
1

私は今、前の行の続きであるいくつかの行があるので、ldiffファイルからこのようないくつかのラインを持っているVIM:特定の文字を持たない行を検索するにはどうすればよいですか?

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 [email protected] 
displayname: dkalland_directs_ww 
mail: [email protected] 
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 
... 

。私はそれらをそれぞれの行に戻したいと思っています。

私が混乱しているのは、":"文字のない行を検索して、前の行に追加できるようにする方法です。

Plzヘルプ。

答えて

11

は、私はあなたが

:v/:/-1j 

vコマンドを実行したいと考えているががない試合patterh /:/を行うすべての行を選択します。 -1は、上記の行を1つ選択します。そしてjが彼らのコメントに大幅な改善を提供してきた

編集ブノワとダッシュトム・バン(vコマンドで選択された一つIE)の次の行で、この行を結合します1はそれ以来、必要はありませんがデフォルトであり、!は行をスペースで結合しません。だから、これは以下の、より良いバージョンにつながる:

:v/:/-j! 
+4

'1'は必須ではないことに注意してください:':v /:/ - j'も動作します。範囲のための単項演算子 '+'と ' - 'が使用されている場合、 '1'がデフォルトのカウントです。 – Benoit

+0

@ベノワ:感謝してくれてありがとう。 –

+1

私は最後に '!'を追加して、結合の時点でスペースを追加または削除しないようにします。 (すなわち ':v /:/ - j!') –

3

パターン

^[^:]*$ 

マッチライン:なし:vコマンドは、マクロまたは一部(適当でないとき、それはより一般的なタスクに役立ちますスクリプトでの比較)

+0

ありがとうございました:) –

+0

上記のアプローチ(:vを使用)では、マクロについても心配する必要はありません。それは数です:) –

関連する問題