Vim Snippets (Ultisnips): есть ли фрагмент для простого ( и {?

Прежде чем я попытаюсь написать свой собственный, мне интересно, есть ли простой фрагмент для { и (?

Например, если я пишу это (мой курсор |):

abc abc (|

а затем нажмите вкладку, я хочу это:

abc abc (
  |
)

То же самое и с { }....


person pixelearth    schedule 23.07.2020    source источник


Ответы (1)


Я не думаю, что такой фрагмент уже существует, поскольку люди, как правило, используют плагины скобок/автоматического сопряжения вместо этого, которые более просто вставляют сбалансированные пары (просто ( или, может быть, (+<cr> вместо (<tab>). Впрочем, написать сниппет не составит особого труда.

Затем новая строка обычно вставляется с помощью <cr>, которая анализирует ее контекст. В случае левых скобок, если он видит курсор внутри {}, он добавляет 2 новые строки, перемещает курсор между ними и делает правильный отступ. Было бы несложно распространить это и на (). Его преимущество заключается в том, что пустая пара будет быстро открыта с отступом курсора в середине новой строки.

person Luc Hermitte    schedule 24.07.2020