vim auto-pair удаляет / убирает пару скобок - PullRequest
2 голосов
/ 31 марта 2020

Я немного запутался, могут ли пары vim (https://github.com/jiangmiao/auto-pairs) удаляться / разворачиваться попарно. Например, если у вас есть (foo), можно ли удалить первую или вторую скобку, и оба они будут удалены одновременно? Документы говорят:

g:AutoPairsMapCh

Default : 1

Map <C-h> to delete brackets, quotes in pair

но я не понимаю, ищу ли я это. Я попытался сделать это как в режиме insert, так и в режиме normal (то есть, нажав <Control-h>, когда курсор находится на скобке), и, похоже, он не работает, если нет другой проблемы (например, привязка <Control-h>). Я также проверил переменную echo g:AutoPairsMapCh и возвращает 1

1 Ответ

1 голос
/ 01 апреля 2020

Поддержка удаления автопар ограничена, чтобы работать только тогда, когда между ними нет ничего (кроме пробелов).

Код, включенный g:AutoPairsMapBS, для клавиши backspace , и g:AutoPairsMapCh для последовательности <C-h> (часто отправляемой backspace в некоторых системах), обе из которых включены по умолчанию, будет работать, только когда backspace (или <C-h>) используется в режиме вставки для удаления левой скобки, когда следующая вещь после курсора - правая скобка (возможно, с некоторым пробелом между ними). ​​

Эта функция полезна, если вы пишете неправильный набор скобок и хотите исправить его. Например, если вы хотите написать foo(bar), но вы пишете foo{, что для автопары завершается до foo{} (с курсором между фигурными скобками), вы можете просто использовать basckspace для удаления обеих пар, получая вернуться к foo, а затем вы можете набрать (bar, чтобы перейти к foo(bar).

Это на самом деле не работает, если у вас есть курсор на b в "баре", даже в вставьте режим и нажмите клавишу возврата или <C-h>. Он удалит (, но, поскольку ) не сразу после курсора, он на самом деле не удалит его.

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

Если вы хотите, чтобы плагин помогал с уже заключенными в текст скобками и мог либо вставлять их, удалять их, заменять их другими наборами скобок и т. Д., Взгляните на превосходную рамку Тима Поупа .vim , который определяет мощные команды нормального режима для управления парами скобок, скобок, кавычек, тегов XML и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...