উত্তর:
ফাইলেনকোডিং সেটিংটি বর্তমান বাফারের এনকোডিংটি দেখায়:
:set fileencoding
fileencoding=utf8
প্লেইন টেক্সট ফাইলের এনকোডিং নির্ধারণের পক্ষে সত্যিই সাধারণ উপায় নেই, কারণ তথ্যটি ফাইলটিতে সেভ হয় না - ইউটিএফ -8 ফাইল ব্যতীত যেখানে আপনি একটি তথাকথিত বিওএম পেয়েছেন যা এনকোডিং নির্দেশ করে। এই কারণেই এক্সএমএল এবং এইচটিএমএল ফাইলগুলির চরসেট মেটাট্যাগ রয়েছে।
আপনি 'এনকোডিং' সেটিংস সহ একটি নির্দিষ্ট এনকোডিং প্রয়োগ করতে পারেন। দেখুন :help encodingএবং :help fileencodingজন্য কিভাবে সম্পাদক এই সেটিংস পরিচালনা তেজ হবে। তালিকাভুক্তদের উপর ভিত্তি করে ভিআইএম সনাক্ত করার চেষ্টা করতে আপনি আপনার ভিএমআরসিতে বেশ কয়েকটি ফাইলেনকডিং সেটিংসও যুক্ত করতে পারেন।
নোট করুন যে ফাইলগুলির এনকোডিং কোনও ফাইলের কোথাও স্পষ্টভাবে বলা হয়নি। সুতরাং, ভিআইএম এবং অন্যান্য অ্যাপ্লিকেশনগুলির অবশ্যই এনকোডিংয়ে অনুমান করা উচিত। এটি করার প্রচলিত chardetপদ্ধতিটি অ্যাপ্লিকেশনটির সাথে রয়েছে, যা ভিআইএমের মধ্যে থেকে চালানো যেতে পারে:
:!chardet %
জটিবারম্যান প্রদত্ত উত্তরটি আপনাকে বর্তমান বাফারের এনকোডিং দেখায় যা ডিস্কে থাকা ফাইলের মতো এনকোডিং নাও হতে পারে। সুতরাং, আপনি লক্ষ্য করবেন যে chardetকখনও কখনও ভিআইএম এর চেয়ে আলাদা এনকোডিং প্রদর্শিত হবে, বিশেষত যদি আপনি সর্বদা একটি নির্দিষ্ট এনকোডিং (যেমন ইউটিএফ -8) ব্যবহার করার জন্য ভিআইএম কনফিগার করেন।
সুন্দর জিনিসটি chardetএটি অনুমানের জন্য একটি আত্মবিশ্বাসের স্কোর দেয়, যেখানে ভিআইএম \ x7F (এএসসিআইআই 127) এর বেশি অক্ষর না থাকলে এনকোডিংটি অনুমান করা সম্পর্কে ভুল (এবং প্রায়শই ভুল) হতে পারে। উদাহরণস্বরূপ, אপিএইচপি কোডের একটি দীর্ঘ ফাইলে একটি একক সংযোজন chardetমনে করে যে ফাইলটি ISO-8859-20.72 এর আত্মবিশ্বাসের সাথে রয়েছে, তবে সামান্য দীর্ঘ বাক্যাংশ যুক্ত করে שלום, עולם!ইউটিএফ -8 দেয় 0.99 এর আত্মবিশ্বাস স্কোর। উভয় ক্ষেত্রেই, ডিস্কের ফাইলটি ইউটিএফ -8 থাকার কারণে নয়, ভিআইএম অভ্যন্তরীণভাবে ইউটিএফ -8 ব্যবহারের জন্য কনফিগার করা হয়েছে বলে set fileencoding?দেখায় UTF-8।
chardet <file>। তবুও, ভাল পরামর্শ।
আমি এটি পেয়েছি: https://vim.fandom.com/wiki/Reloading_a_file_ using_a_different_encoding
ভিম সঠিক এনকোডিং সনাক্ত করতে সক্ষম না হলে আপনি একটি পৃথক এনকোডিং ব্যবহার করে একটি ফাইল পুনরায় লোড করতে পারেন:
:e ++enc=<encoding>
যেখানে encodingহতে পারেcp850, ISO-8859-1, UTF-8, ...
ডটানকোহেনের পরামর্শ অনুযায়ী আপনি file yourfilenameএনকোডিং বা chardetect( আপনার লিনাক্স বিতরণ দ্বারা সরবরাহিত python-chardetবা uchardetনির্ভর করে) সন্ধান করতে ব্যবহার করতে পারেন ।