Mittwoch, 7. August 2013

Include Guards in vim

Nach zweitägigem Ausprobieren von vim stand ich vor dem Problem des Einfügens von Include Guards in C++ Header Dateien. Da der Name der Definition nicht immer eindeutig vom Dateinamen abhängt (sondern evtl auch vom einem/mehreren namespaces) verwende ich folgenden Eintrag in der .vimrc:
 command -nargs=1 IG :normal ggO#ifndef <args><CR>#define <args><Esc><C-O>Go#endif //<args><Esc><C-O>
der Befehl IG nimmt als Argument den Namen der Definition entgegen. Am Anfang und am Ende des Dokuments wird der Include Guard hinzugefügt und schließlich der Cursor zur vorigen Position zurückgesetzt. Ein Beispiel aufruf wäre etwa
 :IG NAMESPACE_FILENAME_H  
der in einer leeren Datei den Quelltext
 #ifndef NAMESPACE_FILENAME_H  
 #define NAMESPACE_FILENAME_H  

 #endif //NAMESPACE_FILENAME_H
erzeugt.

Keine Kommentare:

Kommentar veröffentlichen