2013-05-12 3 views
66

इन दोनों आदेशों के बीच क्या अंतर है में?सेट UTF-8 में विम

  • set encoding=utf-8
  • set fileencoding=utf-8

मैं स्थापित करने के लिए की जरूरत है दोनों जब मैं utf-8 उपयोग करने के लिए करना चाहते हैं?

साथ ही, क्या मुझे set या setglobal के साथ फ़ाइलकोडिंग सेट करने की आवश्यकता है?

+0

ध्यान दें कि यह सुरक्षित है विम में मजबूर करने के बजाय अपने LOCALE में एन्कोडिंग सेट करने के लिए, यदि आप एक गैर यूनिकोड फ़ाइल को संपादित करेंगे। आपको वही परिणाम मिल जाएगा क्योंकि यह LOCALE के लिए डिफ़ॉल्ट होगा और यदि आप मिले तो आप किसी भी विदेशी वर्ण को गड़बड़ नहीं करेंगे। – timss

उत्तर

56

टी एल; डॉ

पहले मामले में set encoding=utf-8 के साथ, आप आउटपुट एन्कोडिंग है कि टर्मिनल में दिखाया बदल देंगे।

set fileencoding=utf-8 साथ दूसरे मामले में, आप फ़ाइल है कि लिखा के आउटपुट एन्कोडिंग बदल देंगे।

जैसा कि @ डेनिस ने कहा है, यदि आप हमेशा utf-8 में काम करना चाहते हैं तो आप उन्हें अपने ~/.vimrc में सेट कर सकते हैं।

अधिक जानकारी

wiki of VIM about working with unicode

से "encoding सेट कैसे vim केरेक्टर को अभिव्यक्त करेगा आंतरिक। UTF-8 यूनिकोड के सबसे जायके के लिए आवश्यक है।"

"fileencoding एक विशेष फ़ाइल (बफ़र होना स्थानीय) के लिए एन्कोडिंग सेट;: setglobal सेट डिफ़ॉल्ट मान एक खाली मूल्य का भी इस्तेमाल किया जा सकता है: यह चूक एक ही करने के लिए के रूप में 'इनकोडिंग' या आप कर सकते हैं।। यूसीएस से किसी एक एन्कोडिंग सेट करना चाहते पात्रों में से अपनी विशेष मिश्रण पर निर्भर करता है। इसके अलावा, IIUC, utf-8 हमेशा बड़े endian (उच्च बिट पहले) है यूसीएस big- हो सकता है, जबकि यह एक ही डिस्क फ़ाइल बड़ा या छोटा कर सकता है, endian या थोड़ा-endian, इसलिए यदि आप इसका इस्तेमाल करते हैं, तो आप शायद 'बम सेट करना होगा "(नीचे देखें)।"

+1

क्षमा करें मुझे समझ में नहीं आता है। फाइलेंकोडिंग वास्तव में क्या करती है? –

+22

पहले मामले में, आप आउटपुट एन्कोडिंग कि टर्मिनल में दिखाया गया है बदल देंगे। दूसरे मामले में, आप लिखी गई फ़ाइल के आउटपुट एन्कोडिंग को बदल देंगे। –

+0

+1 आधिकारिक दस्तावेज़ीकरण को दोहराने के बजाय, छोटे और मीठे उत्तर के लिए! :) – 425nesp

70
set encoding=utf-8 " The encoding displayed. 
set fileencoding=utf-8 " The encoding written to file. 

आप कर सकते हैं साथ ही अपने ~/.vimrc में दोनों सेट करता है, तो आप हमेशा utf-8 के साथ काम करना चाहते हैं।

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