जैसा कि मैंने टिप्पणियों में कहा है, मैपिंग को उस तरह से डिज़ाइन नहीं किया गया है जो आप करना चाहते हैं। इस उपयोग के मामले के लिए एक दिलचस्प विकल्प है langmap
।
यह विकल्प इन्सर्ट या आपके कीबोर्ड को इन्सर्ट मोड में रखने और उसके व्यवहार को अन्य मोड में बदलने की अनुमति देता है।
इसका उपयोग करने के लिए विम को संकलित करना होगा +langmap
, आप देख सकते हैं कि यह विकल्प सक्षम है echo has('langmap')
: यदि कमांड 1
विकल्प को सक्षम करता है तो आपको इस विकल्प के साथ एक सेटअप प्राप्त करना होगा जो सक्षम है (यह जानने के लिए कि यह कैसे करना है, यह एक और सवाल है)।
जब इसे सक्षम किया जाता है, तो विकल्प पात्रों के जोड़े लेता है उदाहरण के लिए जब आप सम्मिलित मोड में होते हैं तो आप अपने बफर में set langmap += à@
जोड़ à
सकते हैं और आप टाइप करते हैं, à
लेकिन à
सामान्य मोड में टाइप करने से वास्तव में एक ट्रिगर होगा @
(यह उदाहरण azerty पर उपयोगी हो सकता है मैक्रो के साथ काम करने के लिए कीबोर्ड)।
ग्रीक में लैंगमैप का उपयोग करने के लिए आप :h 'langmap'
इस लाइन को अपने साथ जोड़ने के लिए दिए गए उदाहरण का अनुसरण कर सकते हैं vimrc
(इस पंक्ति को यहां से कॉपी करना एक अच्छा विचार नहीं हो सकता है क्योंकि मैं वास्तव में एन्कोडिंग के बारे में निश्चित नहीं हूं , लाइन को सीधे हेल्प फ़ाइल से yanking करना संभवतः है सुरक्षित) :
:set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz
अब मैं आपकी टिप्पणियों में जो समझता हूं, वह एक मुद्दा बना हुआ है जब आप पूर्वनिर्धारित आदेशों का उपयोग करने का प्रयास करते हैं: जब आप एक कमांड टाइप करते हैं, तो सम्मिलित मोड व्यवहार लैंगमैप परिभाषित व्यवहार के बजाय ट्रिगर हो जाएगा। दुर्भाग्य से मुझे यकीन नहीं है कि मेरे पास इसके लिए एक अच्छा समाधान है। एक विचार इस तरह उदाहरण के लिए आदेशों को फिर से परिभाषित करने के लिए हो सकता है:
command λς lw
इस प्रकार जब आप कमांड टाइप करेंगे λς
Vim निष्पादित होगा lw
लेकिन मुझे इस पद्धति में कई कमियां दिखाई देती हैं:
- आपके द्वारा उपयोग किए जाने वाले सभी आदेशों को फिर से परिभाषित करने के लिए बट में भारी दर्द हो सकता है।
- उपयोगकर्ता-परिभाषित आदेशों को एक बड़े अक्षर से शुरू करना पड़ता है, और मुझे अब यह पता है कि यह यूनानी में कितना सुविधाजनक है।
तो शायद इस सवाल के जवाब में @Alexander Myshov द्वारा सुझाए गए एक प्लगइन उपयोगी हो सकता है (जैसा कि मैंने कभी इनमें से कोई भी कोशिश नहीं की, मुझे नहीं पता कि वे समस्या को हल करते हैं लेकिन ऐसा लगता है जैसे वे करते हैं)।
langmap
विकल्प हो ( डॉक देखें जिसमें ग्रीक लेआउट के लिए एक उदाहरण शामिल हो)। यह विकल्प वास्तव में ग्रीक या सिरिलिक जैसे गैर लैटिन कीबोर्ड से निपटने में मदद करने के लिए बनाया गया था। यह आपको उन प्रतीकों के जोड़ों को परिभाषित करने की अनुमति देता है, जिन्हें सामान्य रूप से इन्सर्ट मोड में व्याख्यायित किया जाएगा, लेकिन उन्हें अन्य मोड में प्रतिस्थापित किया जाएगा, शायद यह आपकी सहायता करेगा।