আমি কীভাবে আমার ফাইলটিকে ইউটিএফ 8 এ রূপান্তর করতে vim ব্যবহার করতে পারি?


118

আমার কাছে একটি টেক্সট ফাইল আছে। আমাকে এটি ইউটিএফ 8 তৈরি করতে বলা হয়েছে। আমি কীভাবে ভিমের সাথে এটি করতে পারি?



উত্তর:


178

আপনি যদি ল্যাটিন 1 হিসাবে এনকোড করা কোনও ফাইল সম্পাদনা করছেন তবে আপনি দেখতে পাবেন যে 'বাফার কোডিং' সেই বাফারটির জন্য ল্যাটিন 1 তে সেট করা আছে। সুতরাং আপনাকে ফাইল সংরক্ষণের আগে ম্যানুয়ালি ফাইলকোডিং সেট করতে হবে।

:set fileencoding=utf8
:w myfilename

আরও মনে রাখবেন যে ইউটিএফ 8 ফাইলগুলি প্রায়শই একটি বাইট অর্ডার মার্ক (বিওএম) দিয়ে শুরু হয় যা শেষের দিক নির্দেশ করে। BOM ঐচ্ছিক কিন্তু কিছু প্রোগ্রাম একচেটিয়াভাবে এটি ব্যবহার ফাইল এনকোডিং নির্ধারণ। নির্দিষ্ট পরিস্থিতিতে বিম বিওএম লিখবে তবে কখনও কখনও তা হবে না। স্পষ্টভাবে বিওএম সেট করতে এটি করুন:

:set bomb

আরও তথ্যের জন্য :help mbyte-optionsএবং :help utf8এবং :help bomb


(1) UTF-8 endianness নেই মত: নির্দেশাবলী কাজ জরিমানা শয্যাত্যাগ কিন্তু তেজ সাহায্যের ব্যাখ্যা , UTF-8 BOM নিছক ইঙ্গিত করে যে ফাইল হয় UTF-8); 2) পরে আপনি যখন ফাইলটি আবার খুলবেন, আপনার set fileencoding=utf-8আবার সামনে থাকা দরকার। আপনি যদি এটি লিখতে বলেন (এবং এটি সত্যই এটি লিখতে পারে) তবে ভিএম বিওএমও লক্ষ্য করে না। ইউটিএফ -8 কাজ করার জন্য set encoding=utf-8আপনার এটি বা আপনার প্রারম্ভিক সেটিংসের প্রয়োজন। কমপক্ষে, এটি আমার সিস্টেমে গল্প।
স্টেইন

35
:w ++enc=utf-8 %

ডিস্কে utf-8 এনকোডিংয়ে ফাইলটি লিখতে।


5
যদিও এটি সঠিক, আপনার উত্তরটি এরিক জনসনের তুলনায় এতগুলি উত্স সংগ্রহ করা উচিত হয়নি। কারণটি যদি আপনি সেট না করেন fileencodingতবে :w ++enc=utf-8এটি একবারে বৈধ, তবে পরের বার আপনি চালানোর সময় :wএর মানটি 'fileencoding'ব্যবহার করা হবে এবং আপনি যদি এটি পরিবর্তন করেন নি (স্পষ্টতই সম্পাদনার সময়, অথবা ফাইলটি পুনরায় লোড করে, আশা করে) এটি 'fencs'যথাযথভাবে সেট করা আছে এবং প্রকৃত এনকোডিংটি ভালভাবে সনাক্ত হয়েছে), পুরানো এনকোডিংটি ফিরে আসবে।
বেনোইট

1
@ মাইকেল ক্রেলিন-হ্যাকার, পরিবর্তন fileencodingকরাও এই প্রশ্নের একটি বৈধ উত্তর, যা আইএমও খারাপ অভ্যাস গ্রহণের দিকে পরিচালিত করে না। তবে ঠিক আছে, আমি মনে করি এটি মুডের বিষয় মাত্র।
বেনোইট

3
@ বেনোইট, আমি বোঝাইনি এরিকের উত্তর বৈধ নয়! যদি আমি তার উত্তর সম্পর্কে কিছু অদ্ভুত মনে করি তবে এটি সামগ্রী নয়, বরং কেন তিনি উত্তরসূরীতে প্রশ্ন এবং তার নিজের প্রশ্নের উত্তর পোস্ট করলেন :)
মাইকেল ক্রেলিন - হ্যাকার

3
@ মিশেল ক্রেলিন - হ্যাকার: এফএকিউ পরীক্ষা করুন। এটি আসলে আপনার নিজের প্রশ্নের উত্তর দিতে উত্সাহিত করা হয়। এটি এর মত একটি প্রশ্নোত্তর পৃষ্ঠার পুরো পয়েন্ট। কে জবাব দেয় তা বিবেচ্য নয়।
0xC0000022L

2
@ 0xC0000022L, গতবার আমি যাচাই করেছিলাম (এখনই পরীক্ষা করে দেখিনি), গবেষণা করার পরে একটি সমাধান নিয়ে আসার বিষয়ে কিছু ছিল, এক মিনিটের মধ্যে প্রশ্ন এবং উত্তর পোস্ট করার বিষয়ে নয় । এটি বলেছিল, আমি কেবল তার উত্তর সম্পর্কে কী অদ্ভুত তা নিয়েই কথা বলছিলাম যা এটিকে অবৈধ বা কিছু করে তোলে।
মাইকেল ক্রেলিন - হ্যাকার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.