Как добавить новые сниппеты в snipMate в VIM - PullRequest
10 голосов
/ 15 августа 2011

Я только начал использовать плагин sniptMate для VIM, и мне это нравится, однако, поскольку моя коллекция фрагментов невелика, я хотел бы иметь возможность добавлять новые фрагменты динамически, а не открывать файл фрагментов и создавать новыйфрагмент, как я нахожусь в стадии разработки.

Когда я что-то кодирую, я понимаю, что какой-то конкретный фрагмент кода может быть сохранен в виде фрагмента кода, чтобы избавить меня от необходимости повторного ввода кода раздувания, в настоящее время я хочу иметь возможность добавлять фрагмент без открытияфайл сниппета для языка, который я использую в то время.

Ответы [ 6 ]

9 голосов
/ 24 сентября 2012

Если вы используете pathogen , вы можете написать свои собственные фрагменты, не загрязняя исходные.Для этого добавьте свои фрагменты в ~/.vim/bundle/mysnippets/snippets/*.snippets.К вашему сведению, mysnippets может быть любым именем.

Кроме того, существует соглашение о добавлении файла _.snippets в этот каталог, куда вы добавляете фрагменты, которые должны быть доступны везде, независимо от типа файла.

5 голосов
/ 15 августа 2011

Я не уверен, что это должно быть сделано так, но вы можете попробовать вызвать функцию MakeSnip из файла, над которым вы сейчас работаете. Например:

:call MakeSnip(&ft, "foo", "<foo>${1}</foo>")

&ft передаст тип файла редактируемого вами файла, "foo" - триггер, а "<foo>${1}</foo>" - текст замены.

Конечно, такие фрагменты не будут сохраняться. Так почему бы не открыть файл фрагментов в другом буфере, при необходимости определить новые фрагменты, а затем выполнить:

:call ReloadSnippets(&ft)

и ваш новый фрагмент будет доступен. Вы даже можете определить autocmd для вызова функции ReloadSnippets при записи файла фрагментов.

4 голосов
/ 27 января 2012

Вы можете поместить свои собственные фрагменты в ~/.vim/after/snippets/ или любой другой эквивалент в Windows ... прочитайте :h snipMate для синтаксиса имени файла.

1 голос
/ 08 октября 2015

Просто поместите свои собственные фрагменты (если вы хотите использовать их во всех редактируемых файлах) здесь:

~/.vim/after/snippets/_.snippets

Например:

snippet test
  {"foo": "${1}", "bar": "${2}"}
0 голосов
/ 21 июля 2016

Если вы используете vundle для управления своими плагинами в Windows, и вы установили

vim-snipMate & vim-snippets

Если вы хотите добавить свою настройку , скажем, к типу файла html , просто перейдите в эту папку:

$HOME/vimfiles/bundle/vim-snippets/snippets/ 

создайте новый файл и назовите его в следующем формате:

html_bsmith.snippets  

(должно быть подчеркнуто после html, см .: help snipmate)

Тогда vim автоматически загрузит ваш файл.

Если ваши настройки можно использовать где угодно, просто поместите их в существующий файл:

    _.snippets
0 голосов
/ 16 августа 2011

Фрагменты для Snipmate обычно хранятся в каталоге ".vim" в папке snippets .

Вы можете довольно легко отредактировать файл фрагмента для языка, на котором вы работаете.

...