"ফাইল টাইপ প্লাগইন চালু" আসলে কী করে?


11

আমি বুঝতে পারি যে এটি ftplugin.vimফাইল লোড করে তবে এটি আসলে কী করে? এটি বিকল্পগুলি (ফাইল টাইপের উপর নির্ভর করে) সেট করে?

আমি যদি আমার ভিএমআরসি শুরুতে এই লাইনটি অন্তর্ভুক্ত করি

filetype plugin indent on

এবং তারপরে আমি এই লাইনের পরে কিছু বিকল্প সেট করেছিলাম (যেমন স্বয়ংচালিত, স্মার্টআইডেন্ট ইত্যাদি), তাদের সাথে কি এই গোলযোগ হবে? ফাইল টাইপ প্লাগইন বা ইনডেন্ট ফাইল দ্বারা কোন বিকল্পগুলি প্রভাবিত হয় তা আমি কীভাবে জানতে পারি?

উত্তর:


7

আসলে একটি ভাল বর্ণনা আছে help filetype

ফাইল টাইপের জন্য সংজ্ঞায়িত যে কোনও বিকল্পের সাথে সেট করা হবে setlocal:

:setl[ocal] ...     Like ":set" but set only the value local to the
                    current buffer or window.  Not all options have [..]

উদাহরণস্বরূপ /usr/share/vim/vim80/ftplugin/javascript.vim:

setlocal commentstring=//%s

কারণ স্থানীয় বিকল্পগুলির বিশ্বব্যাপীগুলির চেয়ে অগ্রাধিকার রয়েছে আপনার .vimrcসেটিংস এড়ানো হতে পারে। ~/.vim/after/ftplugin/javascript.vimসেক্ষেত্রে আপনাকে একটি ফাইল তৈরি করতে হবে ( আপনি যে ফাইল টাইপের পরিবর্তন করতে চান তার নাম সহ) এবং setlocalসেখানে নিজের বিকল্পগুলি সেট করতে হবে।

সবচেয়ে সহজ উপায় দেখতে শুধু filetype: জন্য ফাইল খুলতে যা অপশন নির্ধারণ করা হয় /usr/share/vim/vim80/ftplugin, ../indentএবং ../syntax


1
E492: সম্পাদক কমান্ড নয়: প্লাগইন ইন [একই সাথে ইনডেন্টের জন্য]
টনি

এই উত্তরের শেষ বাক্যটি ভুল। filetype plugin onএবং filetype indent onপ্রকৃতপক্ষে পৃথক আদেশ আছে, তবে উভয়ই একত্রিত হতে পারে filetype plugin indent on
রুসলান

@ রুসলান ধন্যবাদ, আমি এই বাক্যটি সরিয়েছি।
লকতক

2

এটি স্বতঃসম্পর্কিত সংজ্ঞা দেয় যা প্রদত্ত প্যাটার্নের সাথে মেলে একটি ফাইল খোলার সময় সম্পাদন হবে। এই autocommands sourceঘুরে filetype: প্লাগ-ইন গুলি filetype: স্বীকৃত যুক্ত।

এই ফাইল টাইপ প্লাগইন স্ক্রিপ্টগুলিতে, আপনি কোনও ভিআইএম স্ক্রিপ্টে রাখতে পারেন এমন কোনও কিছুই খুঁজে পেতে / লিখতে সক্ষম হবেন। ভাল অনুশীলন কখনই বিশ্বব্যাপী জিনিসকে সংজ্ঞায়িত করে না, তবে কেবল স্থানীয় জিনিসকেই সংজ্ঞায়িত করে। অর্থাৎ,

  • সঙ্গে স্থানীয় বিকল্প :setlocal opt=value
  • স্থানীয় ম্যাপিং :[cnivsxot](nore)map <buffer> ...
  • স্থানীয় সংক্ষিপ্তসারগুলি সহ :iab-<buffer> ...& কো
  • সঙ্গে স্থানীয় কমান্ড :command -b ...
  • স্থানীয় ভেরিয়েবল :let b:var = 42

সংক্রান্ত

  • মেনুগুলি, আপনাকে এমন প্লাগইন ব্যবহার করতে হবে যা স্থানীয় মেনুগুলিকে অনুকরণ করে, মাইকেল গেডেসের প্লাগইন বা আমার আধুনিকীকৃত কাঁটাচামচ দেখুন ;
  • ফাংশন, আপনি এগুলি এফটি প্লাগিনগুলিতে রাখতে পারেন তবে সেগুলি অটোলোড প্লাগইনগুলিতে সর্বোত্তমভাবে সংজ্ঞায়িত হয়।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.