Шаблоны файлов в vim

Tags: •  • 

Иногда очень удобно открыть файл foo.c и получить автоматическую заглушку. В данном совете приводится пример заглушек для C программ: foo.c и bar.h.

Что мы хотим получить?

$ vim foo.c

1   #include <stdio.h>
2   
3   int main()
4   {
5       return 0;
6   }

Курсор на строке 4.

$ vim bar.h

1   #ifndef BAR_H
2   #define BAR_H   
3   
4   
5   
6   #endif

Курсор на 4 строке.

Для foo.c достаточно прописать в .vimrc:

au BufNewFile  *.c 0r ~/.vim/skel/c.skel | 4

где:
BufNewFile - при создании нового файла
0r - прочитать файл ~/.vim/skel/c.skel в текущий в 0 строчку
4 - перейти на 4 строку

Для bar.h все несколько сложнее. Ведь нам нужно преобразовать имя файла в
верхний регистр. Для этого напишем функцию:

function! s:c_header_skel()
    let gatename = substitute(toupper(expand("%:t")), "\\.", "_", "g")
    execute "normal i#ifndef " . gatename
    execute "normal o#define " . gatename . "   "
    execute "normal Go#endif"
    normal k3o
    normal k
endfunction

Для вызовы этой функции воспользуемся предыдущим примером:

au BufNewFile *.h call <SID>c_header_skel() 

камент к некропосту

Из плагинов по данной теме очень мощным является tSkeleton. Из вкусняшек, которые он умеет (то что первое приходит в голову):
1. Шаблоны для файлов с возможностью интерактивного взаимодействия (например для с++ файла он может спросить что написать в поле стандартного комментария);
2. Автоподстановка переменных (типа автор, дата...);
3. Вставка курсора в необходимое место;
4. Шаблоны для страндартных конструкций языка (например цикла for, switch, if, if-else ... для С++), опять же с интерактивным взаимодействием (например: спрашивает имя переменной и ее начальное и конечное значение для for);
5. И многое другое.

Ссылка на начальную настройку плагина.

ага. я своем

ага. я своем коменте ниже говорил что нашел его слишком избыточным.
интересует реальное применение этого плагина. кто что использует и для чего. очень интересен живой пример
--
Signature invent in progress 24% ##........

живой пример

Хорошо, как только будет время постараюсь записать видео с примерами разных фич. Ждите.

А вот и видео

Просьба тому кто сможет разместить видео на более стабильном ресурсе сделать это ради будущих поколений. На существующем ресурсе не могу дать гарантию что оно проживет более недели. А вот и видео

отвал башки.

отвал башки. снкс!
КПИ рулит Ж:-)
Залью на сайт и сделаю описание
--
Signature invent in progress 24% ##........

Опять же есть

Опять же есть хороший велосипед: snippetsEmu (http://www.vim.org/scripts/script.php?script_id=1318).

Life is a miracle!

че то я не понял

че то я не понял каким боком єтот плагин к типсу?
я в свое время присматривался к File Templates and Code Skeletons ,но он показался для меня слишком избыточным и я использую примерно такое как в типсе.
--
Signature invent in progress 24% ##........