#vim #ultisnips
#vim #ultisnips
Вопрос:
Как написать простой фрагмент, в котором значение заполнителя заменяется в обоих местах.
snippet test "test struct"
type ${1} struct {
id string
}
func (p *${1}) Id() string {
return p.id
}
endsnippet
поэтому, когда я набираю test <tab>
, он должен запрашивать ввод одного значения, которое приводит к (если я ввожу xyz)
type xyz struct {
id string
}
func (p *xyz) Id() string {
return p.id
}
в моей системе может возникнуть конфликт с другими плагинами, но в настоящее время, когда я запускаю фрагмент, курсор перемещается на второй заполнитель (at func (p *${1}) Id() string {
) и никогда не завершает первый.
Комментарии:
1. Я не знаю ultisnip, но в snipMate вам нужно будет написать
type ${1:}
(обратите внимание:
), чтобы получить остановку, которая отражает текст.2. спасибо .. пробовал с двоеточием.. результаты те же..
Ответ №1:
Удалите фигурные скобки вокруг второго {1}
(и, возможно, добавьте текст по умолчанию к первому заполнителю, как указал Инго Каркат):
snippet test "test struct"
type ${1:foo} struct {
id string
}
func (p *$1) Id() string {
return p.id
}
endsnippet