#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
! просто введите -
, и как только вы введете пробел после -
, он <-
автоматически расширится до.