"ऑपरेटर" + "Motion" असंगत व्यवहार क्यों करता है?


17

यह एक ऐसी चीज है, जिसने मुझे लंबे समय तक परेशान किया है, लेकिन मैंने कभी भी इसके बारे में पूछने के लिए आस-पास नहीं देखा। अपने बफर में पाठ इस तरह दिखता है:

Hello
World

अगर मैं अपने कर्सर को लाइन 2 में कहीं रख देता हूं, और करता हूं yk, तो मेरा कर्सर लाइन 1 पर समाप्त हो जाएगा। ऐसा लगता है कि एक ऑपरेटर और साथ ही एक गति भी कर्सर को ले जाती है। हालांकि, अगर मैं लाइन 1 पर शुरू करता हूं और करता हूं yj, तो मेरा कर्सर उसी स्थान पर रहता है। एक ही असंगति बहुत सारी चाबियों के साथ होती है।

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

तो इस व्यवहार के साथ क्या है? क्या यह अपेक्षित और अच्छी तरह से प्रलेखित है? क्या इसका कोई नाम है? क्या इसे ओवरराइड किया जा सकता है?

सामान्य तौर पर, ऐसा लगता है कि "बैकवर्ड मूव्स, फॉरवर्ड नहीं है", लेकिन क्या कोई तरीका है जो मैं निश्चित रूप से बता सकता हूं कि ऑपरेटर + मोशन कर्सर को स्थानांतरित करेगा या नहीं?


2
yएक ऑपरेटर है, एक कमांड नहीं है।
रोमेल

जवाबों:


16

से :h operator

ऑपरेटर को लागू करने के बाद कर्सर को उस पाठ की शुरुआत में छोड़ दिया जाता है जिसे संचालित किया गया था। उदाहरण के लिए, "yfe" कर्सर को स्थानांतरित नहीं करता है, लेकिन "yFe" कर्सर को बाईं ओर "ई" पर ले जाता है जहां यान शुरू हुआ था।

क्या हो रहा है कि कर्सर को टेक्स्ट ऑब्जेक्ट की शुरुआत में ले जाया जा रहा है । दृश्य मोड को सक्षम करने से यह अधिक स्पष्ट हो जाएगा। आप इसके बारे में सोच सकते हैं क्योंकि पाठ को संचालित होने से पहले चुना जा रहा है। vbyमेरा मतलब देखने के लिए उपयोग करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.