Самозакрывающиеся скобки в текстовых редакторах могут раздражать - как с ними бороться?

645
alexcs

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

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

Есть ли какая-либо общая особенность в среде IDE, которая позволила бы мне сохранить лучшее из обоих слов, то есть сохранить автозаполнение, имея более быстрые клавиши быстрого доступа, чем стрелка вправо?

В настоящее время я использую VS Code в режиме Vim, но мне также было бы интересно услышать общие решения от других текстовых редакторов / IDE.

3
Обратите внимание, что Vim использует h / j / k / l в качестве клавиш со стрелками, поэтому вам не нужно растягивать мизинец. Ben Voigt 6 лет назад 0
CudaText имеет опцию "auto_close_brackets", которая имеет набор символов для автозамены, например, "([{". RProgram 6 лет назад 0
@BenVoigt Поскольку он все еще находится в режиме вставки, используйте клавишу со стрелкой, чтобы двигаться, не выходя из режима вставки. foxiris 6 лет назад 0
@foxiris: Да, я думаю, что мой разум был в нормальном режиме из-за ответа Ливена. Ben Voigt 6 лет назад 0
Можно ли использовать клавишу табуляции, чтобы выскочить скобки? В некоторых фрагментах вы можете перейти к следующему определению. foxiris 6 лет назад 0
Не так давно люди должны были разбивать камни, чтобы делать копья, тащиться много миль по снегу и убивать мастодонтов ради еды, чтобы выжить. Вы обеспокоены необходимостью продлить правый мизинец. Времена и проблемы изменились. :-) fixer1234 6 лет назад 0

2 ответа на вопрос

2
Lieven Keersmaekers

В VS Code с режимом vim вы можете выбрать один из следующих вариантов

  • Escв нормальном режиме и использовать стрелку вправо, как вы делаете (или VIM так: L)
  • Escв нормальный режим и использовать A (добавить в конец строки)
  • Оставайтесь в режиме вставки и введите закрывающий разделитель. Код VS автоматически перепрыгивает через разделитель, который начался с автозаполнения, и вы можете просто продолжить ввод.
Вероятно, стоит добавить, что в обычном режиме vim [l] (ell) отображается так же, как стрелка вправо. Ben Voigt 6 лет назад 0
Я знал, что большинство редакторов, которые я использовал, разрешали пропускать самозакрывающиеся скобки, но мне не приходило в голову использовать эту функцию. Я думаю, что это довольно хорошее решение, поскольку я считаю, что набирать скобки удобнее, чем тянуться к правой стрелке, и, по крайней мере, редактор помогает мне не забывать скобки. alexcs 6 лет назад 1
0
Ingo Karkat

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

Если вам нужно переместить через некоторые скобки, большая часть обещания функциональности теряется (вы могли бы только что ввели закрывающую фигурную скобку (ы) самостоятельно). Плагин должен гарантировать, что нет потери эффективности; то есть перемещение по скобкам должно быть легким. Вместо того, чтобы использовать , многие плагины поддерживают просто ввод символа фигурной скобки (я использую этот плагин для Vim, и он у него есть), и он будет перемещаться поверх идентичного символа справа от курсора, вместо вставки нового. Это быстрее и проще, чем оставлять домашнюю строку для клавиш курсора.