Я использую Vim для написания C ++, и у меня есть довольно много #include<>
утверждений, комментариев и т. Д., Которые я должен включать в каждый новый файл, который я создаю. я добавил
autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file)
на мой vimrc, потому что я слышал, что это создает буфер с нужным мне текстом. Как мне добавить этот текст в новый файл? Есть ли простой способ сделать это из буфера, или есть другой простой способ сделать это? Я также немного слышал о шаблонных плагинах. Есть ли очень простой, который мог бы сделать это для меня?
vimrc
buffers
autocmd
filetype-c++
electriccello
источник
источник
autocmd
и создания файла скелета?:r C:\(full file path of skeleton text file)
? Вы получаете какие-либо ошибки?:enew
не будет работать, но:e newfile.cpp
должен работать, если егоnewfile.cpp
еще не было (даже если он пуст).:enew
работает, потому что вы редактируете новый безымянный буфер, а затем сохраняете его как файл .cpp.BufNewFile
срабатывает только если вы редактируете новый файл с целевым именем файла.Ответы:
Скелетный текст из существующего файла можно добавить в новый файл, вставив строку
в Vimrc.
BufNewFile
Событие не работает , если новый файл создается в два этапа , используя:enew
то:sav filename
. Вместо этого создание нового файла с помощью:e filename
запускаетBufNewFile
автокоманду события в vimrc, добавляя содержимое скелетного текстового файла во вновь созданный файл.источник
:help template
..vimrc
переполнение моего компьютера , есть ли какое-либо другое место в~/.vim/
иерархии, в которое я могу поместить его?Действительно, плагины расширения шаблонов помогут вам в этой задаче.
:read
это шаг 0 плагинов расширения шаблона.Например, mu-template попытается включить foo.h из foo.cpp, если обнаружен foo.h. Это также позволит расширить заголовки динамическими данными внутри них (дата, автор, лицензия / авторские права и т. Д.).
источник
Чтобы установить скелет по умолчанию для всех типов файлов и настроить его для конкретного проекта:
Помещенный по умолчанию скелетов под
~/.vim/skeleton
, например:~/.vim/skeleton/vim
,~/.vim/skeleton/sh
.Поместите конкретный скелет проекта
balabala/project/.vim/skeleton
. До тех пор, пока он не~/.vim
появитсяbalabala/project/.vim
в:h rtp
,balabala/project/skeleton/
будет использоваться как каталог скелета.источник