ভিআইএম বা জিভিমে ইউটিএফ -8 অক্ষরগুলি কীভাবে দেখতে পাবেন


106

আমি সময়ে সময়ে অ-ইংরাজী স্ক্রিপ্টগুলিতে জড়িত ওয়েবপৃষ্ঠাগুলিতে কাজ করি, তাদের বেশিরভাগই utf-8 চরসেট ব্যবহার করে, ভিআইএম এবং জিভিম ইউটিএফ -8 অক্ষর সঠিকভাবে প্রদর্শন করে না।

উইন্ডোতে v.৪..46 ব্যবহার করে উইন্ডোজ 64 set guifont=Monaco:h10bit৪ বিট, _ ভিআমিআরসি-র সাথে

এই সমাধানের জন্য একটি উপায় আছে কি?

আপডেট: আমি প্রায় গুগল করেছি এবং set guifontwideআঞ্চলিক ভাষার জন্য দ্বিতীয় ফলব্যাক হিসাবে কাজ পেয়েছি ।

আমি _vimrc এ নিম্নলিখিত লাইনগুলি যুক্ত করেছি এবং আমার বেশিরভাগ সমস্যার সমাধান হয়ে গেছে।

set enc=utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf8,prc
set guifont=Monaco:h11
set guifontwide=NSimsun:h12

NSimsun উপরে ফন্ট চীনা জন্য কাজ করে, সমস্যা আমি জানি না কিভাবে তারা VIM সঙ্গে কাজ করার ফন্ট নাম পেয়েছিলাম হয়, Courier Newযেমন উল্লেখ করা হয় Courier_Newএছাড়াও NSimsunফন্ট ডিরেক্টরির মধ্যে কোথাও না হয়। আমি যে ফন্টটি ব্যবহার করতে চাই তা হ'ল Lathaতবে, আমি কীভাবে _vimrc ফাইলটিতে এটি ব্যবহার করব তা জানি না। set guifontwide=latha:h12বা set guifontwide=Latha:h12কাজ করে না।

যদি আমি সফলভাবে এটিকে সেট করে guifontwideরাখি lathaতবে আমার সমস্যাটি সমাধান হয়ে যাবে, কীভাবে এটি করবেন?


এর মান 'guifont'এবং মান কত 'guifontwide'? এছাড়াও, আপনি কোন ওএস ব্যবহার করছেন এবং ভিএম এর কোন সংস্করণ ব্যবহার করছেন?
বেনোইট

সতীশ, আপনি কি এর জন্য কোনও সমাধান খুঁজে পেতে পেরেছিলেন? আমি eKalappai সফ্টওয়্যার দিয়ে জিভিমে টাইপ করার চেষ্টা করছি কিন্তু ভিম কেবল আমাকে দেখায় ?? অক্ষর (দৃশ্যত তাদের একইভাবে সংরক্ষণ করা)।
সূন্দর - মনিকা পুনরায় ইনস্টল করুন

@ সুন্দর নং আমি ছেড়ে দিয়েছি: |
সতীশ মনোহর

আমার সমস্যাটি হ'ল inconsolata-g আমার নথিতে utf-8 টি অক্ষর সমর্থন করে না।
অ্যান্ড্রু পি কে

set guifontwide=NSimsun:h12আমার জন্য ব্যর্থতা ব্যবহার করে বলে, "অবৈধ প্রশস্ত ফন্ট" সম্ভবত একই অ-মনসোস্পেস সমস্যা?
মাইকেউ 14

উত্তর:


61

এটি ব্যবহার করে দস্তাবেজটি পুনরায় লোড করার চেষ্টা করুন:

:e! ++enc=utf8

যদি এটি কাজ করে তবে fileencodingsআপনার .vimrc এ সেটিংস পরিবর্তন করা উচিত ।


2
আমার জন্য কিছু পরিবর্তন করে না
থমাস লেভেস্ক

8
আপনার কাজটি সংরক্ষণ করার আগে এটি চালাবেন না কারণ এটি আপনার করা পরিবর্তনগুলি মুছে ফেলবে। :uআপনাকে বাঁচাতে হবে যদিও।

এছাড়াও এটি যখন আপনি এটি করবেন তখন ফাইলটি কেবল পঠন করতে সেট করে, তাই আপনার তখন :set noro
চালানোও

2
এর জন্য ধন্যবাদ. ভিম আমার ক্ষেত্রে utf-8 রেন্ডারিং করছিল না কারণ আমার কাছে বাইনারি ডেটা (মাল্টিপার্ট / ফর্ম-ডেটা সংযুক্তি অংশ) ছিল। যখন আমি :e! ++enc=utf8এটি করেছি , এটি utf-8 রেন্ডার করেছে তবে [ILLEGAL BYTE in line 286]ফাইলটির অভ্যন্তরে অভিযোগ করেছে (প্রথম বাইনারি অংশের লাইন)। আমি অনুমান করছি ডিফল্ট আচরণটি ভিম খোলার সময় এমন কিছু এনকোডিংয়ে নিঃশব্দে ফিরে যাওয়া। কিছু কারণে, যদিও, echo &encএখনও সেক্ষেত্রে utf-8 প্রতিবেদন করে।
দিমিত্রি মিনকভস্কি

1
@ দিমিত্রিমিনকোভস্কি, &encহ'ল এনকোডিং ভিআইএম অভ্যন্তরীণভাবে বাফার সামগ্রী সংরক্ষণের জন্য ব্যবহার করে। সেটিং যা বর্তমান ফাইলের জন্য এনকোডিং রয়েছে&fenc
বেনইট

60

তুমি কি চেষ্টা করেছিলে

:set encoding=utf-8
:set fileencoding=utf-8

?


5
আমি এই দুটি সেটিংস দিয়ে চেষ্টা করেছি এবং এখনও আমি utf-8 অক্ষর দেখতে পাচ্ছি না।
সতীশ মনোহর

1
-1। আসলে এটি কাজ করতে পারে না। এই বিকল্পগুলির কোনওটিই ফাইলটি পুনরায় লোড করবে না। প্রথমটি কীভাবে অভ্যন্তরীণভাবে ভিফ বাফারগুলি (এবং অন্যান্য জিনিসগুলি) সংরক্ষণ করে, দ্বিতীয়টি এটি নির্দিষ্ট করবে যে আপনি ইতিমধ্যে একটি বাফারে লোড হওয়া কোনও ফাইলের এনকোডিং পরিবর্তন করতে চান, এটি সংরক্ষণের সময় প্রয়োগ হবে।
বেনোইট

:set encoding=utf8 হবে বাফার রিফ্রেশ করুন এবং সমস্যাটি ভুল এনকোডিং ছিল, এটা ঠিক করবে। আমি set fileencoding=utf8বিকল্পটি যুক্ত করেছি যাতে আপনি সংরক্ষণের সময় সবচেয়ে বিভ্রান্তিকর "কিছু চরিত্রকে রূপান্তর করতে পারবেন না" ত্রুটির মধ্যে দৌড়াবেন না।
ম্যাক্সিম স্লোইকো 12

সেট এনকোডিং কাজ। আমি .vimrc ফাইলটিতে এনকোডিং = utf8 সেট করেছি এবং এখন utf8 এর সাথে সবকিছু ঠিক আছে।
আলেকজান্ডার কিম

ওএসএক্স-এ, আমি এই দুটি লাইন ( ~/.vimrc
কলোন

7

যদি জাপানি লোকেরা এখানে আসে তবে দয়া করে আপনার সাথে নিম্নলিখিত লাইনগুলি যুক্ত করুন ~/.vimrc

set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
set fileformats=unix,dos,mac

6

মাইক্রোসফ্ট উইন্ডোজে, gvim আপনাকে নন-মনসপাসেড ফন্টগুলি নির্বাচন করতে দেয় না। দুর্ভাগ্যক্রমে লাথা হ'ল একটি মনো-গতিযুক্ত ফন্ট।

এটি করার একটি হ্যাক উপায় রয়েছে: ল্যাথ.টিটিএফ সম্পাদনা করতে এবং এটিকে মনসোপ্যাসেড ফন্ট হিসাবে চিহ্নিত করতে ফন্টফর্জ ব্যবহার করে (আপনি http://www.geocities.jp/meir000/fontforge/ থেকে উইন্ডোজ বাইনারি ডাউনলোড করতে পারেন )। এটি করা:

  1. ফন্টফোর্জ লোড করুন, latha.ttf নির্বাচন করুন।
  2. মেনু: উপাদান -> ফন্ট তথ্য
  3. ফন্ট তথ্য সংলাপে বাম-হাতের তালিকা থেকে "ওএস / 2" নির্বাচন করুন
  4. "প্যানোজ" ট্যাবটি নির্বাচন করুন
  5. অনুপাত সেট করুন = মনোস্পিডেড
  6. এই ফন্টের নতুন টিটিএফ সংস্করণ সংরক্ষণ করুন, এটি ব্যবহার করে দেখুন!

শুভকামনা!


1
আমি লেথ ফন্টটি মনোস্পেসে পরিবর্তন করতে পারিনি। আমি ঠিক আপনার পদক্ষেপগুলি অনুসরণ করেছি তবে সংরক্ষিত ফাইলটি এখনও মনসপাসড ফন্ট হিসাবে কাজ করে না :(
সতীশ মনোহর

1
@ সতীশ মনোহর ১) বিদ্যমান টিটিএফ ফাইলটি ওভাররাইট করুন, আপনার উইন্ডোজ পুনরায় চালু করুন এবং এটি ব্যবহার করে দেখুন। বা 2) আপনি টিটিএফ একটি নতুন ফাইলে সংরক্ষণ করতে এবং ফন্টের নাম পরিবর্তন করতে পারেন। নতুন টিটিএফ ফাইল ইনস্টল করুন। এই নতুন ফন্টটি আপনার তালিকায় পাওয়া উচিত।
ইয়ে ঝাও

এই সমস্ত বছর পরে (7 বছর) পরে, ভিআইএমের জন্য বেশ কয়েকটি বিনামূল্যে ফন্ট উপলব্ধ। গুগল নোটো ফন্টস google.com/get/noto ; এবং Iosveka github.com/be5invis/ Iosevka/ releases মূল্যায়নের জন্য খুব ভাল বিকল্প।
ইয়ে ঝাও

3

লিনাক্সে, ভিআইএম কনফিগারেশন ফাইলটি খুলুন

$ sudo -H gedit /etc/vim/vimrc

নিম্নলিখিত লাইন যুক্ত হয়েছে:

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

সংরক্ষণ এবং প্রস্থান এবং টার্মিনাল কমান্ড:

$ source /etc/vim/vimrc

এই সময়ে ভিআইএম সঠিকভাবে চীনা প্রদর্শন করবে।


2

এই সমস্যাটি কি এরই মধ্যে সমাধান হচ্ছে?

আমার সমস্যাটি ছিল যে gvim সমস্ত ইউনিকোড অক্ষর প্রদর্শন করেনি (তবে কেবলমাত্র উমলাট এবং উচ্চারণকৃত অক্ষর সহ একটি উপসেট) :set guifont?; দেখতে আমার প্রশ্ন । এখানে পড়ার পরে, guifontএকটি বোধগম্য মানটি সেট করা আমার জন্য এটি স্থির করে। তবে, আমার 2 বাইটের বেশি অক্ষরের দরকার নেই।


1
গিফন্টের জন্য একটি বোধগম্য মান কী? তুমি কী রেখেছ?
খ্রিস্টান

আমি এই উত্তরে আমার জন্য যে মূল্যবোধ কাজ করেছিল তা তালিকাভুক্ত করেছি ।
টোবিয়াস

2

আমি আমার উইন্ডোজ জিভিম সম্পাদকটিতে প্রদর্শন করার জন্য ইনস্টল করা অন্য কোনও ফন্ট পেতে পারি না, তাই আমি স্যুইচ করেছি Lucida Consoleযা কমপক্ষে কিছুটা ভাল ইউটিএফ -8 সমর্থন আছে। এটি আপনার শেষের দিকে যুক্ত করুন _vimrc:

" For making everything utf-8
set enc=utf-8
set guifont=Lucida_Console:h9:cANSI
set guifontwide=Lucida_Console:h12

এখন আমি কমপক্ষে কিছু ইউটিএফ -8 অক্ষর দেখতে পাচ্ছি।


আমার ক্ষেত্রে ক্যানসিকে সিজিআরইকে পরিবর্তন করতে হয়েছিল (সম্পাদনা -> জিভিমে ফন্ট নির্বাচন করুন ...) কনসোলাস ফন্টের সাথে, ইউটিএফ -8
এনকোডযুক্ত

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.