कर्सर कुंजियों के लिए vj hjkl का उपयोग क्यों करता है?


56

hjklत्रिभुज में कुंजियों के बजाय उसी पंक्ति पर कुंजियों का उपयोग क्यों करें जैसे wasdवीडियो गेम पर आगे बढ़ने के लिए?

दाहिने हाथ से समतुल्य क्यों नहीं, जैसे ijklया pl;'?


3
Vi के विकिपीडिया पृष्ठ की जाँच करें , इसमें कुछ प्राचीन यूनिक्स मशीन कीबोर्ड की तस्वीर है जो बताते हैं, कुछ कीबाइंडिंग।
क्रिश्चियन ब्रेबांट

3
क्योंकि vimतकनीकी विकास के साथ रखने से छूट दी गई है: 3
अलेक्जेंडर

3
आप एक हाथ की चार अंगुलियों को hjkl कीज़ पर रख सकते हैं, आराम से , और कर्सर को चारों दिशाओं में बिना उँगलियों को हिलाए आगे बढ़ा सकते हैं। यदि आप वास्तव में इसके बारे में सोचते हैं, तो पंक्ति में चार ही मानव शरीर रचना के अनुरूप एकमात्र कर्सर कुंजी लेआउट है। सवाल वास्तव में यह है कि हर कोई इसे गलत होने के लिए कैसे प्रबंधित करता है।

4
वास्तव में यह आपके सूचकांक को इसके hबजाय j( बल्कि इस पर कि आपके पास jकुंजी पर "निप्पल" है ) को डालने की अनुशंसा नहीं की गई है । इसका कारण यह है कि आप bबहुत अधिक का उपयोग करेंगे hऔर ;सुलभ होना बहुत अधिक प्रोग्रामिंग भाषा में आसान है (और एक बदलाव के साथ, आपके पास :जो कभी विम में अधिक उपयोगी है)।
nobe4

जवाबों:


75

से http://www.catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys/ :

जब बिल जॉय ने vi पाठ संपादक बनाया, तो उन्होंने ADM-3A टर्मिनल का उपयोग किया, जिसमें hjkl कीज़ पर तीर थे। स्वाभाविक रूप से उन्होंने एक ही कुंजी का पुन: उपयोग किया और शेष इतिहास है!

यहाँ छवि विवरण दर्ज करें


27
यह अभी भी हर कीबोर्ड पर होना चाहिए! :)
अल्बेटिक्स

16
अब आप मुझे सोच रहे हैं कि किस तरह का टर्मिनल है, जिस पर emacs बना था ...
leeand00

11
@ leeand00: एक प्रतीक चिह्न LISP मशीन स्पेस कैडेट कीबोर्ड । लेख स्पष्ट रूप से इस बारे में बात करता है कि कीबोर्ड के डिज़ाइन ने Emacs के डिज़ाइन को कैसे प्रभावित किया, और यह इसकी तुलना अपने सर्वव्यापी एस्केप कुंजी के साथ Vi के डिज़ाइन से भी करता है, और तथ्य यह है कि ADM-3A टर्मिनल के कीबोर्ड पर एस्केप बहुत आसानी से स्थित था। । खैर, स्पेस कैडेट कीबोर्ड पर, कंट्रोल, मेटा, सुपर और हाइपर कीज़ हैं जो बहुत सुविधाजनक रूप से स्थित हैं, साथ ही 8000 से अधिक अक्षरों को टाइप करने के लिए 3 अलग-अलग शिफ्ट कीज़ से कम नहीं हैं।
जोर्ग डब्ल्यू मित्तग

11
हालांकि यह उत्तर इस प्रकार सही है, यह प्रश्न का उत्तर देने के बजाय उसे हल करता है: "ADM-3A कीबोर्ड ने क्यों चुना hjklऔर अधिक तार्किक आकार जैसे कि नहीं ijkl?"
बजे मार्टिन टूरनोइज

2
@Carpetsmoker: हम देर 80 के दशक तक कुंजीपटल तीर स्थान तर्क आविष्कार नहीं किया था upload.wikimedia.org/wikipedia/commons/3/30/...
याकूब Krall

21

Nobe4 का उत्तर बहुत अच्छा है, और यह बताता है कि हम hjklबहुत अच्छा उपयोग क्यों करते हैं । हालांकि, पूर्ण कीबोर्ड को देखना वास्तव में दिलचस्प है, और विम के बारे में बहुत सी अजीब चीजें अधिक समझ में आती हैं जब आप उस पूर्ण कीबोर्ड को देख सकते हैं जिसे यह डिज़ाइन किया गया था। उदाहरण के लिए, vi इतनी बड़ी escअजीब और असुविधाजनक जगह पर होने पर कुंजी पर इतना अधिक भरोसा क्यों करता है? इसलिए:

यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं, escवह है जहां टैब अधिकांश कीबोर्ड पर है। ctrlएक और कुंजी है जो पहुंचने के लिए थोड़ा अजीब है, लेकिन इस कीबोर्ड पर एक बहुत ही आरामदायक स्थान पर (जहां कैप लॉक आमतौर पर है)।


था viएक है <Leader>मानचित्रण? मैंने सोचा था कि यह एक बाद का आविष्कार था ...
मार्टिन टूरनोइज

@Carpetsmoker मुझे ऐसा लगता है, लेकिन मैं वास्तव में निश्चित नहीं हूं। विम के :help <leader>पास हस्ताक्षर {not in Vi}पाठ नहीं है , और यह कहता है कि vi के पास :map(हालांकि नहीं :noremap) था, इसलिए मुझे पूरा यकीन है कि vi के पास नेता थे। यहां तक ​​कि अगर यह नहीं था, मैं vi कीबोर्ड के इतिहास की कल्पना करता हूं कि कम से कम कुछ हद तक विम के डिजाइन को प्रभावित करेगा।
DJMcMayhem

यह भी मुश्किल है कि vi के बारे में Google के माध्यम से जानकारी प्राप्त करें, क्योंकि अधिकांश परिणाम विम के बारे में हैं।
DJMcMayhem

@DJMcMayhem pubs.opengroup.org/onlinepubs/009696699/utilities/vi.html और roguelife.org/~fujita/COOKIES/HISTORY/1BSD/excm.pdf vi (POSIX और ऐतिहासिक, क्रमशः) के लिए अच्छे संदर्भ हैं। आप nvi, elvis, vile, या ex-vi (पूर्व vi ऐतिहासिक वी के वंशज हैं) को भी डाउनलोड कर सकते हैं और देख सकते हैं कि वे क्या करते हैं या उनका प्रलेखन क्या है। <leader>Vi में कोई विशेषता नहीं है ।
रैंडम 832

इसके अलावा, विम को मूल रूप से अमीगा के लिए विकसित किया गया था (इसकी सामान्य (आईएसओ या बड़ी प्रविष्टि) स्थिति में बैकस्लैश), और स्टीव के आधार पर जो अटारी एसटी (निचले दाएं कोने में बैकस्लैश), पिछले प्रवेश के लिए था, लेकिन जाहिरा तौर पर नहीं था। :mapसभी पर समर्थन )
random832

17

जैसे कि ये तीर इन कुंजियों पर क्यों छपे थे ... ऐसा इसलिए है क्योंकि इनका उपयोग स्थानीय कर्सर आंदोलन के लिए नियंत्रण कुंजी के साथ किया जा सकता है। Ctrl-H और Ctrl-J (बैकस्पेस और लाइन फीड) स्पष्ट हैं, और आज भी एक आसान mnemonic है। Ctrl-K "वर्टिकल टैब" है, लेकिन कभी-कभी प्री-एएनएसआई टर्मिनलों पर रिवर्स लाइनफीड के लिए उपयोग किया जाता था। गैर-विनाशकारी कर्सर फॉरवर्ड के लिए Ctrl-L का उपयोग संभवतः इसके कीबोर्ड स्थान के आधार पर चुना गया था।

आपने अन्य उत्तर में कीबोर्ड के चित्र में भी देखा होगा कि "HOME" ^/ की पर है ~। बेशक, Ctrl- ^ कर्सर (मोड के आधार पर, स्क्रीन के ऊपर बाईं ओर या नीचे बाईं ओर भेजता है)।

इन नियंत्रण मैपिंग का उपयोग वायस टर्मिनलों, केर्मिट प्रोटोकॉल के लिए भी किया गया था, और पीसी ANSI.SYS के कुछ संस्करणों में समर्थित थे।

सूत्रों का कहना है:


^ एच, ^ के - बहुत ज्ञानवर्धक, आज के बाद से मैं आसानी से याद रखूंगा कि ^ जे नीचे जाता है। मैं अप-डाउन का असाइनमेंट मज़बूती से याद नहीं कर पा रहा था।
10
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.