Это то, что беспокоило меня долгое время, но я никогда не удосужился спросить. Скажем, текст в вашем буфере выглядит так:
Hello
World
Если я наведу курсор на строку 2 и сделаю это yk, мой курсор закончится на строке 1. Кажется, это подразумевает оператор плюс движение также перемещает курсор. Однако, если я начну со строки 1 и сделаю это yj, мой курсор останется на том же месте. Та же самая непоследовательность случается со многими ключами.
Moves Doesn't move
gg G
h l
{ }
( )
T t
F f
? /
Так что с этим поведением? Это ожидается и хорошо задокументировано? Есть ли имя для этого? Это может быть отменено?
В общем, это выглядит как «Назад движется, вперед нет», но есть ли способ, которым я могу окончательно сказать, будет ли оператор + движение перемещать курсор или нет?
cursor-motions
DJMcMayhem
источник
источник
y
это оператор, а не команда.Ответы:
Из
:h operator
Происходит то, что курсор перемещается в начало текстового объекта. Включение визуального режима сделает его более заметным. Вы можете думать об этом как о тексте, который выбирается до того, как он будет обработан. Используйте,
vby
чтобы увидеть, что я имею в виду.источник