উত্তর:
ইউনিফাইড উত্তর:
আমি তালিকাচারগুলি ব্যবহার করে চেষ্টা করব:
:set listchars=tab:\|\
:set list
দ্রষ্টব্য: \
উপরের শেষের পরে একটি স্থান রয়েছে ।
এই পদ্ধতিটি ভাল কারণ এটি এই জাতীয় জিনিস দেখানোর জন্য ভিমের অন্তর্নির্মিত সমর্থনটি ব্যবহার করে।
উদাহরণ আউটপুট:
| if (1) {
| | func();
| }
তবে, এটি নেতৃস্থানীয় স্থানগুলির জন্য কাজ করে না। @ জোশ পেট্রি দ্বারা চিহ্নিত হিসাবে, স্পেসগুলির জন্য কাজ করার জন্য একটি প্যাচ রয়েছে , তবে তারপরে আপনাকে ভিমটি পুনরায় সংকলন করতে হবে, যা এই উত্তরের বাইরে নয়।
বৈভব সাগর প্লাগিন ইনডেন্টলাইন এই কার্যকারিতাটি দেখায় points
সাধারণ উপায়ে ইনস্টল করুন ( প্লাগইনগুলি ইনস্টল করা দেখুন ) এবং মনে হয় যাদুকরীভাবে কেবল আরও ইনপুট ছাড়াই কাজ করবে। আপনি যদি এএসসিআইআই বারগুলিকে কিছু মনে করেন না তবে আপনার ফন্টগুলি দিয়ে আপনার কিছু করার দরকার নেই। আপনার ইনডেন্টেশন সেটিংস সেট এবং চলমান পরে উদাহরণস্বরূপ আপনার উদাহরণের আউটপুট:IndentLinesReset
45 ¦ var move = function(direction) {
46 ¦ ¦ if(!initialized) { initialize(); }
47
48 ¦ ¦ if(shiftBoard(direction)) {
49 ¦ ¦ ¦ setTimeout(addRandomPiece, 100);
50 ¦ ¦ }
51 ¦ };
প্লাগইনটির জন্য Vim 7.3 বা তার পরে প্রয়োজন হয় এবং এটি সংস্করণের গোপন বৈশিষ্ট্যটির ক্লিভার ব্যবহার করে। প্রকৃতপক্ষে পাঠ্যটি আড়াল করার পরিবর্তে এটি বারে পাঠ্যের সাথে দর্শনীয় স্থানে প্রতিস্থাপন করে তবে আসল বাফারটি নয়। ফলস্বরূপ আপনি বারগুলি দেখেন তবে সেগুলি ফাইলে সংরক্ষণ হয় না (যেহেতু তারা প্রকৃতপক্ষে স্পেস)
এই দুটি পদ্ধতিই ইনডেন্ট কোডটি "সঠিকভাবে" ধরে নেয়। যখন কোনও "ব্লক" খোলা হয় (যা উত্সাহটি প্রদর্শিত হয়) তারা ইন্ডেন্টের স্তরে ইন্ডেন্টেশন লাইন রাখে না বরং পরিবর্তে আপনার ইন্ডেন্টেশন সেটিংসের ভিত্তিতে নিয়মিত বিরতিতে রেখাগুলি স্থাপন করে। অতিরিক্তভাবে, এটি কেবলমাত্র লাইনের বারগুলিকে দেখায় যেখানে প্রকৃতপক্ষে স্থান রয়েছে (এই কারণেই প্রথমটির নীচে ভিআইএম আউটপুটে লাইনটির if
কোনও বার নেই, ভিজ্যুয়াল ফাঁক তৈরি করে)
আমি অন্য একটি বিকল্প ব্যবহার করি, যা আপনি যা চেয়েছিলেন ঠিক তেমন নয়, তবে একই কলামে কী রয়েছে তা সহজেই দেখানোর জন্য একই উদ্দেশ্য সাধন করে তা হল আপনার মধ্যে নিম্নলিখিতটি সেট করা vimrc
:
set cursorcolumn
set cursorline
এটি এমনভাবে বাণিজ্য বন্ধ করে দিয়েছে যে আপনি আপনার কর্সারটি যে কলামটি দেখতে চান তাতে সরিয়ে নিতে হবে, তবে আপনি কম ভিজ্যুয়াল ক্লাটার পাবেন। সাধারণত যখন আমি ইনডেন্টেশন স্তরগুলি সম্পর্কে যত্নশীল থাকি, আমি যাইহোক কার্সার দিয়ে আমার জায়গাটি রাখছি। আমার উপায়টি বন্ধনীগুলি বন্ধ না করে অজগরের মতো ভাষায় অনবদ্য দেখার মতো নয়।
সম্পূর্ণতার স্বার্থে, ইনডেন্ট গাইড প্লাগইনও রয়েছে, যা সাদা জায়গাগুলির রঙ পরিবর্তন করে ইনডেন্টেশন স্তরগুলি দেখায়। এটির 7.2 বা তার পরে সংস্করণ প্রয়োজন। এটি ব্যবহার করে যেহেতু tabstop
এবং shiftwidth
ভেরিয়েবল, তাহলে সম্ভবত সরাসরি আপনার খাঁজ সেটিংসের জন্য কাজ করবে।
একবার প্লাগইন ইনস্টল হয়ে গেলে আপনি কেবল :IndentGuidesEnable
বা ব্যবহার করতে পারেন :IndentGuidesDisable
। আপনি যদি টার্মিনাল ভিএম ব্যবহার করে থাকেন তবে ম্যানুয়াল অনুসারে নোট করুন,
এই মুহুর্তে টার্মিনাল ভিমের কেবলমাত্র প্রাথমিক সমর্থন রয়েছে। এর অর্থ হ'ল রঙগুলি আপনার রঙের চেমের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে গণনা করা হবে না। পরিবর্তে, ব্যাকগ্রাউন্ড অন্ধকার বা হালকা সেট করা আছে তার উপর নির্ভর করে কিছু প্রিসেট রঙ ব্যবহার করা হয়।
স্ক্রিনশটের জন্য গাইডের রঙ পরিবর্তন করতে, আমি নিম্নলিখিতটি ব্যবহার করেছি
let g:indent_guides_auto_colors=0
সুতরাং বাফারগুলি অদলবদল করা হলে রংগুলি পুনরায় গণনা করা যায় না এবং তারপরে রঙগুলি ব্যবহার করে সেট করুন
hi IndentGuidesEven ctermbg=238
hi IndentGuidesOdd ctermbg=236
উপস্থাপিত অন্যান্য সমাধানগুলির মতো এটি কেবল ফাঁকা জায়গাগুলির লাইনগুলিতে ইনডেন্ট গাইড দেখায়।
let g:indent_guides_enable_on_vim_startup=1
সূচনার সময় এটি সক্রিয় আমার .vimrc করতে।
আমি এজেন্টলাইন প্লাগইনটিকে এর জন্য সেরা বলে খুঁজে পেয়েছি । আপনার উপযুক্ত চিহ্নগুলির সাথে একটি ফন্টের দরকার আছে যদিও আমি উইন্ডোজ এবং ম্যাক ওএস এক্সের মেনলোতে কনসোলস ভালভাবে কাজ করতে পারি। উপরের ইউনিফাইড উত্তরে যেমন উল্লেখ করা হয়েছে, এটি যথাযথভাবে conceal
উল্লম্ব বারগুলি (ব্যবহৃত ফন্ট থেকে) লাগানোর জন্য ভিএম এর বৈশিষ্ট্যটি ব্যবহার করে (আব) কাজ করে । আমি এই সমাধানটি নিয়ে বেশ খুশি তবে এর অসুবিধাটি হ'ল যে আমার উল্লম্ব বারগুলি বাক্স-অঙ্কন গ্লাইফগুলির অংশ এবং এগুলি অন্যান্য সম্পাদকের মতো বাম-প্রান্তিকের পরিবর্তে কেন্দ্র-প্রান্তিক হয়। আমি এটি ব্যবহার করতে পেরেছি তবে ম্যানুয়ালি আপনার ফন্টটি প্যাচ করে বা ফ্যান্টাস্কেক সানস মনোোর মতো একটি ফন্ট ব্যবহার করে এটি সংশোধন করা যেতে পারে (লিঙ্কযুক্ত গিথুব রেপোর স্ক্রিনশটগুলি কীভাবে ইনডেন্টলাইন ব্যবহার করে তা লক্ষ করুন)।
ইনডেন্টলাইন প্লাগইনটি নন-ছোট ফাইলগুলিতে মোটামুটি ধীর হয়ে যায়, এন্টারটি ক্লিক করার সময় পর্যবেক্ষণযোগ্য এটি এক বা একাধিক সময় পিছিয়ে যায়।
আমি ভিআইএম-ইনডেন্টগাইডগুলি একটি দ্রুত এবং দৃশ্যমান অনুরূপ প্লাগইন হিসাবে খুঁজে পেয়েছি , যা স্পেস ইনডেন্টের তুলনায় ট্যাব ইন্ডেন্টকে দৃশ্যত পৃথক করে।