প্লাগইন উপলভ্য বিকল্পগুলি কীভাবে তালিকাভুক্ত করবেন?


10

আমি সম্প্রতি সন্ধান করেছি YouCompleteMeযার একটি g:ycm_autoclose_preview_window_after_insertionবিকল্প রয়েছে যা সন্নিবেশ মোড থেকে বেরিয়ে যাওয়ার পরে ডকুমেন্টেশন প্রিভিউ উইন্ডোটি স্বয়ংক্রিয়ভাবে লুকিয়ে রাখে এবং আমি সম্প্রতি ভিএম ব্যবহার করেও শুরু করেছিলাম, তাই এই প্রথম আমি কোনও বিকল্প সেট করেছিলাম।

তাই আমি ভাবলাম যে আমার ভিআইএম পরিবেশে ক্র্যাম করা অন্যান্য প্লাগইনগুলির ম্যানুয়ালি অনুসন্ধান না করে বিকল্পগুলি উপলব্ধ কিনা।

ভিআইএম শুরু হওয়ার সাথে সাথে কি তারা বিশ্বব্যাপী নিবন্ধভুক্ত হয়, যাতে কমান্ডের জন্য যাতে তাদের উপলব্ধ হওয়ার তালিকা তৈরি করে, বা এটি করা যায় না?


আপনি পারবেন না। প্লাগইনগুলির জন্য ভেরিয়েবলগুলি নথিভুক্ত করা দরকার। কোডটি না পড়ে কী ভেরিয়েবল ব্যবহার করা হয় তা জানার উপায় নেই।
খ্রিস্টান ব্র্যাব্যান্ড

উত্তর:


6

সমস্ত সম্ভাব্য প্লাগইন বিকল্পগুলি জানার জন্য কোনও উপায় সরবরাহ করে না ভিম।

প্লাগইন লেখক হিসাবে আমি আপনাকে বলতে পারি এটি বেশ জটিল কারণ এগিয়ে যাওয়ার অনেকগুলি ভিন্ন উপায় রয়েছে। উদাহরণস্বরূপ হয় আমরা বিবেচনা করি যে শেষ ব্যবহারকারী যদি কোনও বিকল্পের জন্য কোনও মান সরবরাহ না করে থাকে .vimrcতবে আমরা এই বিকল্পটি বিদ্যমান থাকতে এবং একটি ডিফল্ট মানের সমান হতে বাধ্য করি, বা আমরা বলতে পারি: "হয় মান নির্ধারণ করে নিন শেষ ব্যবহারকারী, বা একটি হার্ড-কোডেড ডিফল্ট মান ব্যবহার করুন।

এই প্রথম পদ্ধতির সাথে, শেষ-ব্যবহারকারী একটি c_CTRL-D, বা c_TAB, ইত্যাদির সাথে উপলভ্য বিকল্পগুলির তালিকা দেখতে পাবে

আরও এবং আরও বেশি প্লাগইন তাদের সমস্ত বিকল্প অভিধানে সজ্জিত করতে পছন্দ করে। অর্থাত, থাকার পরিবর্তে g:plugin_foo_optionএবং g:plugin_bar_option, আমরা g:plugin.foo_optionএবং g:plugin.bar_option। এটি g:বৈশ্বিক বিকল্পগুলির তালিকাটিকে দূষিত করা এড়ায় , তবে আমরা কমান্ড-লাইন স্বতঃপূরণ হারাতে পারি (অবশেষে আমি এই বিষয়টির কোনও সমস্যা ভিম গিথুবে খুলতে পারি)।

এখন পর্যন্ত আমি কেবল বৈশ্বিক বিকল্পগুলি সম্পর্কে কথা বলেছি। বেশিরভাগ প্লাগইনগুলি আরও সুনির্দিষ্ট বিকল্পগুলি সমর্থন করার চেষ্টা করে না যদিও তাদের এটি করা উচিত ছিল। উদাহরণস্বরূপ, আমি আফসোস করছি যে আপনি বা কমপ্লেমমেটে বা বিকল্প , বা অন্য অনেক প্লাগইন বৈশ্বিক বিকল্পগুলির পরিবর্তে প্রকল্প নির্দিষ্ট বিকল্প ব্যবহার করেন না। প্রকৃতপক্ষে, আমি যে প্রকল্পে কাজ করছি তার উপর নির্ভর করে আমি তাদের নিজ নিজ পছন্দগুলি বিভিন্ন মানকে সেট করতে চাই। দুর্ভাগ্যক্রমে, এটি তারা বিবেচনা করেছেন এমন কোনও কাজের প্রবাহ নয়। আমার প্লাগিনগুলিতে, অনেকগুলি বিকল্প প্রকল্পের ভিত্তিতে বা বাফার ভিত্তিতে বিশেষীকরণ করা যেতে পারে। ইদানীং আমি এই বিষয়ে একটি পরীক্ষা নিয়ে এসেছি । এমনকি সাধারণ এবং সাধারণ g:plugin_option+ b:plugin_optionজুটির সাথেও , সমস্ত উপলব্ধ বিকল্পগুলি জানা অসম্ভবের পরে।

কখনও কখনও আমি কমান্ডগুলি অফার করার চেষ্টা করি যা বিল্ড-সরঞ্জাম-মোড়কের সাহায্যে বিকল্পগুলি সেট করতে সহায়তা করে বা মেনুতে (gvim ব্যবহার করার সময়) কিছু বিকল্প প্রদর্শন করার জন্য, তবে এটি নিখুঁত হওয়ার থেকে অনেক দূরে।

আমি ভীত যে ডকুমেন্টেশনটি সর্বোত্তম জিনিস উপলব্ধ। আপনি এমনকি চেষ্টা করতে পারেন :h pluginname^D। এটি সম্ভবত সেরা পদ্ধতির উপলব্ধ।


পর্দার পিছনে বিকল্পগুলির দুর্দান্ত ব্যাখ্যা এবং :h pluginnameআসলে খুব দুর্দান্ত! সুতরাং বিভিন্ন প্লাগইনগুলির ডকুমেন্টেশনগুলি পড়তে আমাকে একাধিকবার ভিএম থেকে দূরে যেতে হবে না।
আইলিয়ান ওনোফ্রেই

2

ভিমের উপলব্ধ বিকল্পগুলির একটি রেফারেন্সিয়াল নেই। আপনি যা করতে পারেন তা হ'ল কী শুরু করা হয়েছে তা দেখুন।

ভিমের অন্তর্নির্মিত বিকল্পগুলির জন্য কমান্ড রয়েছে :set। থেকে :h :set:

:se[t] Show all options that differ from their default value.

আপনি সমস্ত উপলব্ধ বিকল্প দেখতে পাবেন না, কেবলমাত্র আপনি সংশোধন করেছেন।

আপনি :letসমস্ত ঘোষিত ভেরিয়েবলের মান এবং :let g:বিশ্বব্যাপী ভেরিয়েবলের তালিকার তালিকাও ব্যবহার করতে পারেন । (আপনি :h E121যে চলকটি প্রদর্শন করতে পারেন তার একটি তালিকা দেখুন )।

মনে রাখবেন যে এই তালিকাগুলি পড়ার / পার্স করা সর্বদা সহজ নয়। প্লাগইনগুলির জন্য, আপনার সেরা বিকল্পটি ডকুমেন্টেশন পড়া এবং আপনার প্রয়োজনীয় বিকল্পটি সন্ধান করা।

আপনি এই উইকিয়া টিপ দ্বারা আগ্রহী হতে পারেন কীভাবে ভিএম পরিবেশ প্রদর্শন করবেন


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