Mengapa "Operator" + "Gerak" berperilaku tidak konsisten?


17

Ini adalah sesuatu yang telah menyadap saya sejak lama, tetapi saya tidak pernah bertanya. Ucapkan teks di buffer Anda terlihat seperti ini:

Hello
World

Jika saya meletakkan kursor di suatu tempat di baris 2, dan lakukan yk, kursor saya akan berakhir di baris 1. Ini sepertinya menyiratkan operator ditambah gerakan juga menggerakkan kursor. Namun, jika saya mulai pada baris 1 dan melakukannya yj, kursor saya tetap di tempat yang sama. Ketidakkonsistenan yang sama terjadi dengan banyak kunci.

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

Jadi ada apa dengan perilaku ini? Apakah ini diharapkan dan didokumentasikan dengan baik? Apakah ada nama untuk ini? Bisakah itu ditimpa?

Secara umum, sepertinya "Mundur bergerak, maju tidak", tetapi apakah ada cara saya dapat secara pasti mengetahui apakah gerakan operator + akan menggerakkan kursor atau tidak?


2
yadalah operator, bukan perintah.
romainl

Jawaban:


16

Dari :h operator

Setelah menerapkan operator kursor sebagian besar dibiarkan di awal teks yang dioperasikan. Misalnya, "yfe" tidak menggerakkan kursor, tetapi "yFe" memindahkan kursor ke kiri ke "e" di mana yank dimulai.

Apa yang terjadi adalah kursor sedang dipindahkan ke awal objek teks. Mengaktifkan mode visual akan membuatnya lebih jelas. Anda dapat menganggapnya sebagai teks yang dipilih sebelum dioperasikan. Gunakan vbyuntuk melihat apa yang saya maksud.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.