vim: как сделать так, чтобы скобки совпадали, как в DrRacket и др.?

Я хочу, чтобы моя настройка vim раскрашивала мои скобки, как по умолчанию в DrRacket IDE для Scheme.

Я знаю, как настроить сопоставление круглых скобок с помощью встроенной MatchParen hlgroup, но я думаю, что будет сложно использовать это с пользой.

DrRacket выделяет совпадающие скобки следующим образом:

  • сделать фон скобок и всего их содержимого немного темнее
  • также сделайте это для любых скобок внутри скобок
  • делайте это только для круглых скобок, где находится курсор (например, MatchParen)

Взгляните на этот снимок экрана, чтобы лучше понять, что я имею в виду: введите здесь описание изображения

Таким образом, вы получаете хорошую визуальную обратную связь при написании языков с большим количеством скобок, таких как Lisp.

Существует ли плагин, реализующий такое поведение? Или у вас есть советы о том, как я мог бы реализовать это самостоятельно?


person romeovs    schedule 09.10.2013    source источник


Ответы (2)


Я не видел плагина, реализующего ступенчатую окраску фона (и это было бы сложно с терминалами с низким цветом и недостатками Vim в подсветке синтаксиса), но популярным плагином является rainbow_parentheses.vim — улучшенные радужные скобки, в которых используются разные цвета для каждого набора скобок.

person Ingo Karkat    schedule 09.10.2013
comment
да, я использую этот плагин сейчас. но его нельзя расширить, чтобы сделать цвета фона... - person romeovs; 09.10.2013

Я хотел того же, поэтому я разветвил скрипт и соответствующим образом изменил его.

Дайте мне знать, если это работает для вас (и не забудьте установить цвета в соответствии с вашей цветовой темой, так как значения по умолчанию вряд ли вам понравятся!)

https://github.com/cbranch/rainbow_parentheses.vim

Этот скрипт не выделяет положение курсора, но, надеюсь, нетрудно объединить поведение плагина MatchParen с этим. Лично меня это не волнует, так что это упражнение для других :)

person seabee    schedule 21.10.2013
comment
не работал для меня. Я просто работаю так же, как радужные скобки по умолчанию на моей машине. Я использую вим 7.4.52. - person romeovs; 28.10.2013