Ответ 1
Разница между командами текстового объекта {a
, i
} × {(
, )
, b
} и их
"
, '
, `
в основном проистекают из различных определений
блок и строку с кавычками (см. :help v_ab
, :help v_aquote
).
В то время как последний является текстом предыдущего символа кавычки текущего
линии до следующего на той же линии (сбежавших в сторону), первая -
текст между n-й предыдущей непревзойденной открывающей скобкой и ее
сопоставив завершение один. Проще говоря, команда va(
(без счета) подобна
[(v%
- если перед курсором нет несогласованной скобки, оба выбирают
ничего. Однако команда va"
проверяет текущую строку, чтобы найти подходящую
пара котировок в любом случае.
Основная причина этой разницы в поведении, я полагаю, заключается в том, что цитируется строки, в отличие от скобок, считаются не вложенными (по крайней мере, в перспектива встроенных текстовых объектов Vim).
Чтобы выбрать текст в следующей скобке в текущей строке, можно использовать
%vi(
или
%va(
чтобы включить скобки в выделение.