Tại sao nhà điều hành và nhà cung cấp dịch vụ hành động không nhất quán?


17

Đây là một cái gì đó đã làm tôi khó chịu trong một thời gian dài, nhưng tôi chưa bao giờ loanh quanh để hỏi về nó. Nói văn bản trong bộ đệm của bạn trông như thế này:

Hello
World

Nếu tôi đặt con trỏ ở đâu đó trong dòng 2 và thực hiện yk, con trỏ của tôi sẽ kết thúc ở dòng 1. Điều này dường như ngụ ý một toán tử cộng với một chuyển động cũng di chuyển con trỏ. Tuy nhiên, nếu tôi bắt đầu trên dòng 1 và làm yj, con trỏ của tôi vẫn ở cùng một vị trí. Sự không nhất quán tương tự xảy ra với rất nhiều phím.

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

Vậy hành vi này là gì? Đây có phải là mong đợi và tài liệu tốt? có phải có một cái tên cho thứ này? Nó có thể bị ghi đè?

Nói chung, có vẻ như "Di chuyển ngược, không chuyển tiếp", nhưng có cách nào để tôi có thể biết chắc chắn liệu một toán tử + chuyển động có di chuyển con trỏ hay không?


2
ylà một toán tử, không phải là một lệnh.
romainl

Câu trả lời:


16

Từ :h operator

Sau khi áp dụng toán tử, con trỏ chủ yếu còn lại ở đầu văn bản được vận hành. Ví dụ: "yfe" không di chuyển con trỏ, nhưng "yFe" di chuyển con trỏ sang trái đến "e" nơi yank bắt đầu.

Điều đang xảy ra là con trỏ đang được di chuyển đến đầu của đối tượng văn bản. Kích hoạt chế độ trực quan sẽ làm cho nó rõ ràng hơn. Bạn có thể nghĩ về nó như văn bản đang được chọn trước khi nó được vận hành. Sử dụng vbyđể xem những gì tôi có ý nghĩa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.