विंडोज 7 पर Gvim और VIM के साथ यूनिकोड टाइप करने में सक्षम नहीं है


11

मैं (जी) विम का उपयोग करके विभिन्न भाषाओं में लिखना चाहता हूं। लेकिन जब मैं भाषा बार (देवनागरी या हिंदी वर्ण) का उपयोग करके किसी अन्य भाषा में स्विच करता हूं, और कुछ भी टाइप करता हूं, (जी) विम प्रदर्शित करता है ??? ??

मैंने क्या कोशिश की:

write ++enc=utf-8 foo.txt  
set fileencoding=utf-8   
set enc=utf-8

जानकारी:

  • जीवीएम संस्करण: 7.4, और इसके + मल्टी_बाइट भी।
  • डिफ़ॉल्ट विम फ़ाइल में कोई परिवर्तन नहीं।

मैंने अभी (g) vim के साथ शुरुआत की है।


5
एक फ़ॉन्ट बात हो सकती है। आप किस फ़ॉन्ट का उपयोग कर रहे हैं?
मूरू

1
7 फोंट (कंसोल, 2 कूरियर, 2 ल्यूसिडा, फिक्स्डिस, और टर्मिनल) जीवीएम में सूचीबद्ध हैं। मैंने उन सभी की कोशिश की। हालांकि मेरे सिस्टम में अन्य फोंट भी हैं, लेकिन gvim केवल 7. प्रदर्शित करता है। मैंने भी अनुसरण किया: stackoverflow.com/questions/3766204/vim-doesnt-support-unicode लेकिन फिर भी भाग्य नहीं।
msinfo

3
"एक और भाषा" बल्कि अस्पष्ट है। क्या भाषा? पोलिश? हिब्रू? चीनी? क्लिंगन? यदि आप अस्पष्ट भाषा का उपयोग कर रहे हैं, तो यह बहुत संभव है कि कोई भी फ़ॉन्ट उस भाषा का समर्थन न करे।
मार्टिन टूरनोइज

1
मेरे मामले में, मैं उबंटू मोनो फ़ॉन्ट के साथ GVim 7.4.800 (या उपचार) के साथ मलयालम की कोशिश कर रहा हूं । नमूना पाठ के लिए, मलयालम विकिपीडिया देखें । लिनक्स और (उबंटू और आर्क) पर, टर्मिनल और जीवीएम फोंट के साथ उबंटू मोनो के लिए सेट किया गया है, मलयालम शो करता है, भले ही यह थोड़ा स्क्विट हो। मैंने दूसरी टिप्पणी में उल्लेख किए गए अन्य फोंट msinfo की कोशिश की है।
मुरु

1
लिनक्स पर, जीवीएम आपके इच्छित पात्रों को प्रदर्शित कर सकता है क्योंकि पंगो अन्य पात्रों से ग्लिफ़ में खींचेगा ताकि सभी पात्रों को प्रदर्शित किया जा सके। इसलिए यह भी है कि वर्ण आपके पाठ के बाकी हिस्सों से अलग दिखते हैं। यदि आप xterm में एक ही चीज़ आज़माते हैं, तो आपको सभी वर्ण दिखाई नहीं देंगे क्योंकि एक ही फ़ॉन्ट का उपयोग किया जाता है। मुझे संदेह है कि ऐसा ही कुछ विंडोज पर हो रहा है।
जामेसन

जवाबों:


5

डिफ़ॉल्ट एन्कोडिंग लगता है latin1:

:set encoding?
  encoding=latin1

पात्रों में प्रवेश करते समय, विम उन्हें आने वाले चरित्र सेट (शायद यूनिकोड) से लैटिन -1 में बदलने की कोशिश करता है। यह विफल रहता है क्योंकि लैटिन -1 में ये वर्ण नहीं हैं। इसलिए सवालिया निशान।

एक मौजूदा फ़ाइल खोलना (नोटपैड या किसी अन्य प्रोग्राम के साथ सहेजा गया) को गार्बल्ड टेक्स्ट में परिणत करना चाहिए क्योंकि अब विम सिर्फ बाइट्स पढ़ने और उन्हें लैटिन -1 कैरेक्टर सेट के अनुसार व्याख्या करने की कोशिश कर रहा है, और उन्हें लैटिन -1 सेट में परिवर्तित नहीं करता है।

आप उपयोग करना चाहेंगे utf-8या कुछ ऐसे:

:set encoding=utf-8

जिसके बाद मलयालम स्क्रिप्ट काम करने लगती है।

ध्यान दें कि इससे पहले से मौजूद प्रश्नचिह्न काम नहीं करेंगे । ये वास्तव में0x3f इनपुट पर प्रश्न चिह्न (चरित्र ) में बदल जाते हैं । जो दर्ज किया गया था उसे वापस पाने का कोई तरीका नहीं है। मुझे संदेह है कि यह इस प्रश्न की उलझन का स्रोत है।

यह भी देखें :help 'encoding'

एक सिडेनोट के रूप में, फ़ॉन्ट में असमर्थित ग्लिफ़ आमतौर पर एक अलग ग्लिफ़ के साथ प्रदान किए जाते हैं; यह प्रति फ़ॉन्ट बदलता है, लेकिन आमतौर पर या तो एक वर्ग ब्लॉक या एक अलग स्टाइल प्रश्न चिह्न होता है। आप एक "वास्तविक" प्रश्न चिह्न और एक असमर्थित ग्लिफ़ के बीच अंतर देख सकते हैं g8, जो चरित्र कोड दिखाएगा।


1
मुझे देवनागरी या हिंदी वर्ण लिखने की आवश्यकता है। एनकोडिंग पहले latin1 पर सेट किया गया था, इसे आपके सुझाव के अनुसार यूएफ -8 में बदल दिया गया था। लेकिन फिर भी कोई देवनागरी या हिंदी वर्ण दिखाई नहीं देता। लेकिन जब मैं उन बॉक्स को कॉपी करता हूं (जैसा कि वीआईएम द्वारा प्रदान किया गया है), वीआईएम से ब्राउज़र या नोटपैड ++ तक, वे यूनिकोड वर्णों की तरह दिखते हैं। इसलिए VIM पहचानता है, लेकिन उन्हें प्रदर्शित नहीं कर सकता।
msinfo

1
@msinfo आप किस विम संस्करण का उपयोग कर रहे हैं? आपने 7.4 का उल्लेख किया है, लेकिन पैच स्तर का उल्लेख नहीं किया है? मैंने vim.org से 7.4.1024 का उपयोग किया ।
मार्टिन Tournoij

1
यह गैर-समझौता लगता है, के रूप में मैं इस पर आपके उत्तर ;-) में से एक से जानने की कोशिश vi.stackexchange.com/questions/2466/... । Vim --version कोई पैच जानकारी नहीं दिखाता है। मैंने स्थापना के बाद कोई प्लगइन या पैच परिवर्तन नहीं किया है।
msinfo

4
@msinfo Vim 7.4 लगभग ढाई साल पहले रिलीज़ हुई थी। नए संस्करण को स्थापित करने का प्रयास करें। शायद यह सब जरूरी है?
मार्टिन टूरनोइज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.