2010-12-26 16 views
6

Hier ist meine Situation Ich habe zahlreiche SQL-Zeilen wie folgt.VIM .. Yank mehrere Zeilen basierend auf Regex

SET IDENTITY_INSERT blah 
DELETE FROM blah 
SET IDENTITY_INSERT blah 
DELETE FROM blah 
SET IDENTITY_INSERT blah 
DELETE FROM blah 
SET IDENTITY_INSERT blah 
DELETE FROM blah 
SET IDENTITY_INSERT blah 
DELETE FROM blah 

ich mag es neu anordnen VIM mit zu

SET IDENTITY_INSERT blah 
SET IDENTITY_INSERT blah 
SET IDENTITY_INSERT blah 
SET IDENTITY_INSERT blah 
DELETE FROM blah 
DELETE FROM blah 
DELETE FROM blah 

jetzt ich weiß, ich könnte einen einfachen Python-Skript schreibe dies schnell zu erreichen, aber ich versuche, meine VIM Fähigkeiten auf.

Antwort

7

Sie g Befehl verwenden können:

:g/^DELETE/m$ 

Dies bewegen (m) alle Linien beginnen mit DELETE bis zum Ende der Datei ($).

+0

Sie könnten auch ': v/DELETE/m $' – Mud

+0

oder @Mud verwenden, wenn ich fortgeschrittene ': g' oder': v' kung-fu lernen möchte, wie gehe ich vor? –