J'utilise Vim pour écrire en C ++, et j'ai pas mal de #include<>
déclarations, commentaires, etc. que je dois inclure dans chaque nouveau fichier que je crée. J'ai ajouté
autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file)
à mon vimrc, parce que j'ai entendu que cela crée un tampon avec le texte dont j'ai besoin. Comment puis-je ajouter ce texte à un nouveau fichier? Existe-t-il un moyen simple de le faire à partir du tampon ou existe-t-il un autre moyen simple de procéder? J'ai également entendu un peu parler des plugins de modèles. Y en a-t-il un très simple qui pourrait faire ça pour moi?
vimrc
buffers
autocmd
filetype-c++
violoncelle électrique
la source
la source
autocmd
et d'avoir créé le fichier squelette?:r C:\(full file path of skeleton text file)
? Avez-vous des erreurs?:enew
ne fonctionnera pas, mais:e newfile.cpp
devrait fonctionner s'ilnewfile.cpp
n'existait pas déjà (même s'il est vide).:enew
ne fonctionnera pas est que vous modifiez un nouveau tampon sans nom, puis l' enregistrez en tant que fichier .cpp.BufNewFile
ne se déclenche que si vous modifiez un nouveau fichier avec le nom de fichier cible.Réponses:
Le texte squelette d'un fichier existant peut être ajouté à un nouveau fichier en insérant la ligne
dans le vimrc. L'
BufNewFile
événement ne fonctionne pas si le nouveau fichier est créé en deux étapes à l'aide de:enew
alors:sav filename
. Au lieu de cela, la création d'un nouveau fichier à l'aide de:e filename
déclenche la commandeBufNewFile
automatique de l' événement dans le vimrc, en ajoutant le contenu du fichier texte squelette au fichier nouvellement créé.la source
:help template
..vimrc
ne soit encombré, y a-t-il un autre emplacement dans la~/.vim/
hiérarchie dans lequel je peux le placer?En effet, les plugins d'extension de modèle vous aideront dans cette tâche.
:read
est l'étape 0 des plugins d'extension de modèle.Par exemple, mu-template essaiera d'inclure foo.h de foo.cpp si foo.h est détecté. Cela permettra également d'étendre les en-têtes avec des données dynamiques (date, auteur, licence / copyright, etc.).
la source
Pour configurer le squelette par défaut pour tous les types de fichiers et le personnaliser pour un projet spécifique:
Mettez les squelettes par défaut sous
~/.vim/skeleton
, par exemple:~/.vim/skeleton/vim
,~/.vim/skeleton/sh
.Mettez le squelette spécifique au projet sous
balabala/project/.vim/skeleton
. Tant qu'il~/.vim
apparaît avantbalabala/project/.vim
dans:h rtp
,balabala/project/skeleton/
sera utilisé comme répertoire squelette.la source