utltsnips — окружение пробелом

#r #vim #ultisnips

#r #vim #ultisnips

Вопрос:

У меня есть следующий скрипт utilsnips, который я использую для Vim:

 snippet - "assignment"
<-
endsnippet
  

Я использую его для R, чтобы расширить тире до оператора присваивания. Я хотел бы сделать так, чтобы пробел ставился как до, так и после <- при расширении. Однако, когда я ставлю пробел перед ним во фрагменте, подобном <- , он не будет расширяться при нажатии Tab . Как я должен изменить скрипт, чтобы вокруг оператора были пробелы? Желаемый результат: <- .

Ответ №1:

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

 snippet " -" "assignment" r
 <- 
endsnippet
  

Обратите внимание, что перед и после <- в определении фрагмента есть пробел.

В качестве бонуса, более интересно определить фрагмент следующим образом:

 snippet " - " "assignment" rA
 <- 
endsnippet
  

A является авторасширением. так что теперь вам больше не нужно нажимать tab ! просто введите - , и как только вы введете пробел после - , он <- автоматически расширится до.