Вставка 1 доллара во фрагмент с помощью snipMate

#vim #snipmate

#vim #snipmate

Вопрос:

Как я могу вставить литерал $1 во фрагмент, используя snipMate? Я не смог найти эту информацию в руководстве…


Ни к чему не приводит (пытается найти заполнитель):

 snippet s
    $1
  

Результат $ только:

 snippet s
    $$1
  

Ответ №1:

Я нашел обходной путь. Используйте $${0:1} . snipMate не интерпретирует $ {0}, но, похоже, вместо этого вставляет текст по умолчанию.

Комментарии:

1. Ах! Большое спасибо, мистер Питерсон. Очень умно.

Ответ №2:

В принципе, вы не можете. Ближайшим обходным путем является использование текста по умолчанию:

 snippet s
    $${1:1}
  

Для этого необходимо один раз нажать tab.

Эта проблема указана в snipMate — и существует уже два года, поэтому я бы не стал затаивать дыхание, ожидая, пока она будет исправлена.

Комментарии:

1. Я надеюсь, вы простите меня, но я решил изменить правильную отметку на @Adam H. Peterson, который нашел решение через несколько месяцев после публикации этого вопроса. Я подумал, что вам было бы интересно узнать и это; для меня это особенно важно в makefiles.

Ответ №3:

В настоящее время я нахожусь в рекламном туре для UltiSnips на StackOverflow. UltiSnips поддерживают экранирование символов, соответствующий фрагмент выглядит следующим образом:

 snippet s
$1
endsnippet
  

Скрипт преобразования для фрагментов snipMate поставляется с UltiSnips, поэтому переключение выполняется легко.