Существуют ли плагины, которые исправляют несовместимое поведение c i <textobject>?

Обычный зуд для меня - пример, указанный в заголовке. Учитывая строки ниже и предположение, что курсор находится на первом символе строки:

hello("stuff") -> c i " -> hello("")
hello('stuff') -> c i ' -> hello('')
hello( stuff ) -> c i ( -> hello( stuff )

Первый зуд:
c i (/) работает ни на одной из строк, если только курсор не находится внутри или внутри паратезов.

Второй зуд:
c i "/' всегда работают с соответствующими символами, если курсор находится перед или у закрывающего тега указанного символа.

Подведение итогов:
Как видите, есть последовательность. Я позволил этому ускользнуть в течение нескольких лет, но я хочу исправить это. Вы можете называть меня плаксивым, но работа с параметрами - это то, чем мы все занимаемся, и хотя это может быть хуже, но, безусловно, может быть и лучше. Есть ли причина для такого поведения, и как вы можете обойти это?

1 ответ1

2

Хитрость заключается в том, чтобы добавить % чтобы войти в скобки: %ci( .

Найдено при выборе текста внутри паратеза снаружи скобки в vim. Также посмотрите, почему ci "и ci(ci {ведут себя по-разному, тот же вопрос, что и у вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .