“Operator”+“Motion”이 일관성이없는 이유는 무엇입니까?


17

이것은 오랫동안 저를 괴롭 혔지만 결코 묻지 않았습니다. 버퍼의 텍스트가 다음과 같다고 가정하십시오.

Hello
World

커서를 2 행 어딘가에 배치하면 do가 yk커서 1 행에서 끝납니다. 이것은 연산자와 동작이 커서를 이동시키는 것을 의미합니다. 그러나 1 행에서 시작하고 수행 yj하면 커서가 동일한 지점에 남아 있습니다. 많은 키에서 동일한 불일치가 발생합니다.

Moves   Doesn't move
gg      G
h       l
{       }
(       )
T       t
F       f
?       /

이 행동은 무엇입니까? 이것이 예상되고 잘 문서화되어 있습니까? 이것에 대한 이름이 있습니까? 재정의 할 수 있습니까?

일반적으로 "뒤로 이동, 앞으로 이동하지 않는 것"처럼 보이지만 연산자 + 동작이 커서를 움직 일지 여부를 결정하는 방법이 있습니까?


2
y명령이 아닌 연산자입니다.
romainl

답변:


16

에서 :h operator

연산자를 적용한 후 커서는 조작 된 텍스트의 시작 부분에 대부분 남아 있습니다. 예를 들어, "yfe"는 커서를 움직이지 않지만 "yFe"는 커서를 k 크가 시작된 "e"로 왼쪽으로 이동합니다.

현재 커서가 텍스트 개체 의 시작 부분 으로 이동하고 있습니다. 비주얼 모드를 활성화하면보다 명확 해집니다. 텍스트가 작동하기 전에 텍스트가 선택되고 있다고 생각할 수 있습니다. vby무슨 뜻인지 알기 위해 사용 하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.