Переменные в определении snipMate, возможно ли это? (вим)

Я использую vim для программирования и использую утилиту snipMate. Мне известно основное определение фрагментов, но я пытаюсь сделать что-то вроде следующего (это не работает):

snippet ${1}_.
    <$1 class="${2}">${3}</$1>

Думаю, будет проще объяснить на примере. Я пытаюсь вставить тег html при вводе слова, за которым следует _. :

Поэтому, если я наберу div_. и нажму Tab, он должен измениться на:

<div class="(position of cursor)">(position of cursor)</div>

Если я наберу span_. и нажму Tab, он должен измениться на:

<span class="(position of cursor)">(position of cursor)</span>

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

Спасибо!


person JLeon    schedule 25.02.2015    source источник


Ответы (1)


Заставьте фрагмент сделать всю тяжелую работу за вас:

snippet tag
    <${1:div} class="${2}">${3}</$1>

Вы также можете взглянуть на emmet-vim и surround.vim.

person Peter Rincker    schedule 25.02.2015
comment
Хотя это не совсем то, чего я хотел добиться, это довольно хороший обходной путь. Я пока не собираюсь принимать ваш ответ на случай, если кто-то придет с идеальным решением. Я взглянул на объемный.вим и это довольно интересный полезный инструмент! Спасибо! - person JLeon; 25.02.2015