Ich verwende Vim zum Schreiben von C ++ und habe einige #include<>
Anweisungen, Kommentare usw., die ich in jede neue Datei aufnehmen muss, die ich erstelle. Ich habe hinzugefügt
autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file)
zu meinem vimrc, weil ich gehört habe, dass dies einen Puffer mit dem Text erstellt, den ich darin benötige. Wie füge ich diesen Text einer neuen Datei hinzu? Gibt es eine einfache Möglichkeit, dies aus dem Puffer heraus zu tun, oder gibt es eine andere einfache Möglichkeit, dies zu tun? Ich habe auch ein wenig über Template-Plugins gehört. Gibt es eine sehr einfache, die dies für mich tun könnte?
vimrc
buffers
autocmd
filetype-c++
Elektrocello
quelle
quelle
autocmd
und die Skelettdatei erstellt haben?:r C:\(full file path of skeleton text file)
? Bekommst du irgendwelche Fehler?:enew
funktioniert nicht,:e newfile.cpp
sollte aber funktionieren, wenn esnewfile.cpp
noch nicht existiert (auch wenn es leer ist).:enew
nicht funktioniert, ist, dass Sie einen neuen, unbenannten Puffer bearbeiten und ihn dann als CPP-Datei speichern.BufNewFile
Wird nur ausgelöst, wenn Sie eine neue Datei mit dem Zieldateinamen bearbeiten.Antworten:
Skeletttext aus einer vorhandenen Datei kann durch Einfügen der Zeile zu einer neuen Datei hinzugefügt werden
in die vimrc. Das
BufNewFile
Ereignis funktioniert nicht, wenn die neue Datei in zwei Schritten mit:enew
then erstellt wird:sav filename
. Stattdessen:e filename
löst das Erstellen einer neuen Datei mitBufNewFile
den automatischen Befehl des Ereignisses im vimrc aus und fügt den Inhalt der Skeletttextdatei zur neu erstellten Datei hinzu.quelle
:help template
..vimrc
Gibt es einen anderen Ort in der~/.vim/
Hierarchie, an dem ich ihn ablegen kann, um zu verhindern, dass ich überlastet werde ?In der Tat helfen Ihnen Template Expander-Plugins bei dieser Aufgabe.
:read
ist der Schritt 0 der Template Expander Plugins.Beispielsweise versucht mu-template , foo.h aus foo.cpp einzuschließen, wenn foo.h erkannt wird. Außerdem können Header mit dynamischen Daten (Datum, Autor, Lizenz / Urheberrecht usw.) erweitert werden.
quelle
So richten Sie das Standardgerüst für alle Dateitypen ein und passen es für ein bestimmtes Projekt an:
Legen Sie Standard Skelette unter
~/.vim/skeleton
, zum Beispiel:~/.vim/skeleton/vim
,~/.vim/skeleton/sh
.Legen Sie das projektspezifische Skelett unter
balabala/project/.vim/skeleton
. Solange~/.vim
erscheint vorbalabala/project/.vim
in:h rtp
,balabala/project/skeleton/
wird als Skelett - Verzeichnis verwendet werden.quelle