Авто-скобки с Ultisnips и vim-arpeggio

У меня есть настройка для автоматического закрытия скобок в vim, которая работает почти идеально для меня. Я прошу совета, чтобы сделать его полностью идеальным, внизу этого поста;)

В настоящее время мое решение достигает этого: (в режиме вставки; | указывает на курсор)

  • lala|
  • (удар ( а также ) одновременно)
  • lala(|)
  • (удар ( а также ) одновременно)
  • lala((|))
  • (Cj)
  • lala(()|)
  • (Cj)
  • lala(())|
  • (удар ()
  • lala(())(|

Мне это нравится, потому что я могу использовать автоматические скобки или нет без необходимости удалять ненужные вставки. Поскольку круглые скобки в основном расположены рядом друг с другом на клавиатуре, легко и интуитивно понятно нажимать их одновременно. Я могу легко добавлять произвольные новые (многосимвольные) типы скобок через UltiSnips. Прыжки в скобки встраиваются и полностью интегрируются с другими фрагментами Ultisnips, которые я использую. Поэтому я не согласен с ответом на Отключить замену скобок Vim SnipMate.

Как это работает:

  • установить 'kana/vim-arpeggio' и 'SirVer/ultisnips'
  • в ~/.vimrc: Arpeggio inoremap () œœ
  • в глобальном файле сниппетов all.snippets:

положил

snippet œœ "auto paren" iA
($1)$0
endsnippet
  • повторите для каждой желаемой пары скобок, раз и навсегда. (опционально, разрешить разные скобки для каждого типа файла)

Это немного странно, так как мне нужно зарезервировать несколько редких комбинаций символов, чтобы активировать автоматическое расширение фрагмента.

Актуальный вопрос: когда я нажимаю u чтобы отменить автоматическую вставку скобок, я получаю промежуточные символы - назад. Есть ли способ сделать один шаг отмены, охватывающий всю операцию? Или есть другая настройка, которая менее хакерская и выполняет все, что я хочу, включая отмену?

0 ответов

Другие вопросы по тегам