2011-01-17 10 views
3

Ich schreibe heute noch für Schleifen. Alle von ihnen haben das Format:Schreiben für Schleife in vim automatisieren?

for(size_t szI = X; szI < Y; ++szI) 
{ 
    //Something 
} 

Und ich weiß, es gibt Möglichkeiten zum Aufzeichnen von Aktionen in Vim. Wenn X und Y sich ändern können, kann ich etwas in vim machen, um eine for-Schleife zu schreiben, sobald ich X und Y irgendwie versorge?

Antwort

7

Sie ein Plugin wie snipMate können Schnipsel speichern, die Sie dann in einen for Schnipsel speichern können.

In der Tat ist es bereits mit vielen predefined snippets kommt, kann eine Menge davon als nützlich erweisen.

let @f = "ifor(size_t szI = X; szI < Y; ++szI)^M{^M}^[O^T" 

Hinweis alle ^X Zeichen über CtrlVCtrlX eingegeben werden:

1

Dies ist ein Beispiel von Vim wiki on abbreviations:

:abbreviate forl for (int i = 0; i < ; i++) {<esc>7hi 

nicht genau das, was man wollte, aber in der Nähe, dass.

1

würde ich einen Makro verwenden.

Sie können dieses Makro dann mit @f ausführen.

Edit: Habe gerade den zweiten Teil Ihrer Frage gesehen (nicht sicher, ob Sie ihn bearbeitet haben? Vielleicht lese ich falsch.) Aber wenn X und Y sich ändern, würde ich vorschlagen, eine bessere Lösung wie snipMate. Vim.

1

Der am weitesten entwickelte Weg ist in der Tat eine Schnipsel-Engine zu verwenden. snipMate wurde hervorgerufen.

Ich behalte mu-template das ist die Wurzel der erweiterten Schnipsel von lh-cpp.