Uso Vim para escribir C ++, y tengo bastantes #include<>declaraciones, comentarios, etc. que debo incluir en cada archivo nuevo que creo. he añadido
autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file)
a mi vimrc, porque escuché que esto crea un búfer con el texto que necesito en él. ¿Cómo hago para agregar este texto a un nuevo archivo? ¿Hay una manera fácil de hacer esto desde el búfer, o hay otra manera fácil de hacerlo? También he escuchado un poco sobre los complementos de plantilla. ¿Hay alguna muy simple que pueda hacer esto por mí?
vimrc
buffers
autocmd
filetype-c++
electriccello
fuente
fuente

autocmdy crear el archivo esqueleto?:r C:\(full file path of skeleton text file)? tuviste algun error?:enewno funcionará, pero:e newfile.cppdebería funcionar sinewfile.cppaún no existiera (incluso si está vacío).:enewno funcionará es porque está editando un nuevo búfer sin nombre y luego guardándolo como un archivo .cpp.BufNewFilesolo se activa si está editando un nuevo archivo con el nombre de archivo de destino.Respuestas:
El texto de esqueleto de un archivo existente se puede agregar a un nuevo archivo insertando la línea
en el vimrc. El
BufNewFileevento no funciona si el nuevo archivo se crea en dos pasos usando:enewentonces:sav filename. En cambio, la creación de un nuevo archivo usando:e filenameactiva elBufNewFilecomando automático del evento en el vimrc, agregando el contenido del archivo de texto esqueleto al archivo recién creado.fuente
:help template..vimrccongestionen, ¿hay alguna otra ubicación en la~/.vim/jerarquía en la que pueda ubicarlo?De hecho, los complementos del expansor de plantillas lo ayudarán en esta tarea.
:reades el paso 0 de los complementos del expansor de plantillas.Por ejemplo, mu-template intentará incluir foo.h desde foo.cpp si se detecta foo.h. También permitirá expandir encabezados con datos dinámicos dentro de ellos (fecha, autor, licencia / copyright, etc.).
fuente
Para configurar el esqueleto predeterminado para todos los tipos de archivo y personalizarlo para un proyecto específico:
Ponga esqueletos predeterminados debajo
~/.vim/skeleton, por ejemplo:~/.vim/skeleton/vim,~/.vim/skeleton/sh.Ponga el esqueleto específico del proyecto debajo
balabala/project/.vim/skeleton. Mientras~/.vimaparezca antesbalabala/project/.vimen:h rtp,balabala/project/skeleton/se utilizará como directorio de esqueleto.fuente