2010-09-23 13 views
22

के साथ विम का उपयोग करके मैं विम को अपने पायथन ऐप्स को कोड करने के लिए गंभीर प्रयास दे रहा हूं।ग्रीक भाषा

हालांकि विम इतना लचीला साबित कर रहा है, मैं इसे काम (वकील/कानूनी दस्तावेज) पर अपने मुख्य संपादक के रूप में उपयोग करने के बारे में सोच रहा था। समस्या यह है कि मेरी मातृभाषा अंग्रेजी नहीं बल्कि ग्रीक है। तो मैंने अंग्रेजी और ग्रीक कीबोर्ड लेआउट के बीच बदलने के लिए Alt + शिफ्ट मैप किया है। जिस समस्या का मैं अनुभव कर रहा हूं वह यह है कि मुझे Alt + Shift प्रत्येक बार जब मैं एक Vim कमांड (अंग्रेज़ी पर वापस लौटना) दर्ज करना चाहता हूं तो उसे दबाएं। तो अपने Alt + शिफ्ट जब मैं फिर से अपने दस्तावेज़ लिखें, फिर Alt + शिफ्ट विम आदेशों में प्रवेश के लिए। यह विम, उपयोग की गति का उपयोग करने के उद्देश्य को हरा देता है।

तो मेरे सवाल, सरल है वहाँ किसी भी तरह से विम आदेशों का उपयोग कर ग्रीक भाषा के साथ के लिए Alt + शिफ्ट से बचने के लिए है?

उत्तर

28

इस समस्या को keymap विकल्प की मदद से हल किया जा सकता है। यह टेक्स्ट इनपुट की आवश्यकता वाले मोड में उपयोग करने के लिए वैकल्पिक कीबोर्ड मैपिंग को परिभाषित करने की अनुमति देता है।

डिफ़ॉल्ट और वैकल्पिक keymaps जबकि सम्मिलित में, बदलें, या कमांड लाइन मोड के बीच स्विच करने के लिए, Ctrl + ^ (Ctrl +) का उपयोग करें। बदलना कीमैप टेक्स्ट इनपुट को केवल प्रभावित करता है; सामान्य मोड में कीबोर्ड व्यवहार वर्तमान कीमैप सेटिंग के बावजूद समान रहता है। कोई ग्रीक में सम्मिलित मोड लिखने और को अलग-अलग कीबोर्ड लेआउट पर स्विच किए बिना सामान्य-मोड कीबाइंडिंग का तुरंत उपयोग कर सकता है। यदि कोई एक सम्मिलित मोड पर लौटता है या, उदाहरण के लिए, / टाइप करके एक खोज शुरू करता है, तो विम कुंजीपैप को ग्रीक पर स्वचालित रूप से स्विच करता है।

उन पाठ-प्रवेश मोड में उपयोग किए जाने वाले वर्तमान कीमैप को अन्य मोड में स्विचिंग के बीच याद किया जाता है। इस व्यवहार का एकमात्र अपवाद कमांड लाइन मोड के लिए किया जाता है जो हमेशा डिफ़ॉल्ट कीमैप से शुरू होता है, क्योंकि अधिकांश समय में EX कमांड (ASCII में) टाइप करना आवश्यक होता है। keymap विकल्प सेट के साथ, उपयोगकर्ता Ctrl +^ (के बजाय सिस्टम-वाइड लेआउट स्विच) के साथ विम रखते हुए प्रणाली कीबोर्ड लेआउट में काम करते हुए अंग्रेज़ी सेट विम कीमैप स्विचन माना जाता है।

यूटीएफ -8 यूनानी कीमैप को स्थायी रूप से सक्षम करने के लिए, निम्नलिखित 0 लाइन अपने .vimrc फ़ाइल में जोड़ें।

:set keymap=greek_utf-8 

भाषाओं के एक बड़े सेट के लिए कई पूर्वनिर्धारित keymaps रहे हैं, तो आप उन सब को विम अपने आप में ब्राउज़ :e $VIMRUNTIME/keymap का उपयोग कर सकते हैं।ध्यान दें कि आमतौर पर एक भाषा के लिए प्रदान किए गए कई कीपैप्स हैं जो केवल वर्ण एन्कोडिंग द्वारा भिन्न होते हैं, ताकि कोई भी उनके कॉन्फ़िगरेशन के अनुरूप एक चुन सके।

मैं यह निर्दिष्ट करने के लिए नीचे दिए गए विकल्पों को सेट करने की भी सिफारिश करता हूं कि कुंजीपैप डिफ़ॉल्ट रूप से सम्मिलित करें मोड में और खोज पैटर्न दर्ज करने पर सक्षम होना चाहिए या नहीं।

:set iminsert=0 
:set imsearch=-1 

अपने विस्तृत स्पष्टीकरण के लिए :help iminsert और :help imsearch देखें।

एक विशेष भाषा मोड भी है, अगर मुझे गलत नहीं लगता है, तो keymap से पहले विम में पेश किया गया था। यह को keymap द्वारा मैन्युअल रूप से के माध्यम से में कुंजीपटल पर कुंजी के अनुरूप langmap विकल्प में सहेजने के लिए एक लंबी स्ट्रिंग के माध्यम से दिए गए अक्षरों के साथ keymap द्वारा प्रदान किए गए व्यवहार के समान व्यवहार प्राप्त करने की अनुमति देता है। व्यक्तिगत रूप से- मेरे मूल भाषा अंग्रेजी नहीं है, मैं भी keymap का उपयोग करके (और अनुशंसा करता हूं) पसंद करता हूं।

निष्कर्ष में, मुझे यह ज़ोर देना चाहिए कि उपर्युक्त सभी उपरोक्त किसी अन्य भाषा के लिए लागू है (या इसके लिए कॉन्फ़िगर किया जा सकता है) के लिए एक कीमैप है।

my answer को similar question पर भी देखें, जिसे बाद में पूछा गया है। इसमें थोड़ा और व्यापक स्पष्टीकरण शामिल है।

+3

आप अद्भुत हैं !!! आपका सुझाव काम नहीं किया, लेकिन आपने मुझे सही दिशा की ओर इशारा किया। मुझे बस इतना करना था कि keymap = greek_iso-8859-7 सेट करने के लिए set keymap = greek_utf-8 को बदलना था। एक अजीब कारण के लिए यूनानी यूटीएफ अजीब पात्रों को प्रदर्शित करता है, यह मेरे फ़ायरफ़ॉक्स के साथ होता है जब यह यूटीएफ चुनता है, लेकिन आईएसओ भी वहां काम करता है। बाकी सब कुछ एक आकर्षण की तरह काम करता है, मैंने आपके द्वारा सुझाए गए संपादन मोड में ctrl +^दबाया है और कमांड इंटरफ़ेस अंग्रेजी में रहते हुए मैं ग्रीक और इंग्लिश के बीच बदल सकता हूं। आप जीवन उद्धारकर्ता हैं, धन्यवाद। – Kilon

+0

क्या ctrl +^से कुछ और उपयोग करना संभव है। Ctrl + Shift + 6 दबाएं मुश्किल है। – Sergey

+2

@ सर्गी: 'Ctrl + 6' भी काम करता है। यदि आपके लिए टाइप करने के लिए अभी भी असहज है, तो उपयोग करने में आसान मैपिंग बनाएं। उदाहरण के लिए, इसे 'Ctrl + L' उपयोग' inoremap 'में रीमेप करने के लिए। –

संबंधित मुद्दे