প্রথমত, Tabম্যানুয়াল ইন্ডেন্টেশনের জন্য ভিমে কীটি ব্যবহার করবেন না । ম্যানুয়ালি ইনডেন্টেশনের পরিমাণ বাড়িয়ে বা হ্রাস করার জন্য ভিমের সন্নিবেশ মোডে একজোড়া কমান্ড রয়েছে। এই আদেশগুলি Ctrl-Tএবং Ctrl-D। এই কমান্ডগুলি tabstop
, shiftwidth
এবং এর মানগুলি পর্যবেক্ষণ করেexpandtab
, এবং স্পেস এবং ট্যাব (ট্যাব সর্বোচ্চ সংখ্যক স্পেস প্রয়োজনীয় সংখ্যা থাকে) সঠিক মিশ্রণ বজায় রাখা।
দ্বিতীয়ত, আপনি যদি স্বয়ংক্রিয়ভাবে ইনডেন্টেশন ব্যবহার করেন তবে এই ম্যানুয়াল ইনডেন্টিং কীগুলি যে কোনওভাবেই খুব বেশি ব্যবহার করতে হবে না।
আপনি বিরক্ত করার Ctrl-Tপরিবর্তে Tab, আপনি এটি পুনরায় তৈরি করতে পারেন:
:imap <Tab> ^T
আপনি ডেলিডেন্টটি করতে পুনরায় তৈরি Shift-Tabকরতে পারেন Ctrl-D:
:imap <S-Tab> ^D
এখানে ^ T এবং ^ D হ'ল আক্ষরিক নিয়ন্ত্রণ অক্ষর যা .োকানো যেতে পারে Ctrl-VCtrl-T।
এই ম্যাপিংটি জায়গায় রেখে, আপনি এখনও বাফার ব্যবহার করে আক্ষরিক ট্যাব টাইপ করতে পারেন Ctrl-VTab। নোট করুন যে আপনি যদি :set expandtab
এটি করেন তবে এটি চালু থাকলেও আপনি একটি অপরিবর্তিত ট্যাব অক্ষর পাবেন।
<Tab>
মানচিত্রে অনুরূপ প্রভাব ব্যবহার করে অর্জিত হয় :set smarttab
, এটি স্মার্ট আচরণের জন্য একটি লাইনের সামনের অংশে ব্যাকস্পেস তৈরি করে।
ইন smarttab
মোড, যখন Tabএকটি লাইন শুরুতে ব্যবহার করা হয়, এটা কোনো বিশেষ অর্থ রয়েছে। যে আমার উপরে ম্যাপিং থেকে আলাদা Tabকরার জন্য Ctrl-T, কারণ একটিCtrl-T একটি লাইন (সন্নিবেশ মোডে) এ ব্যবহৃত যে কোন জায়গায় যে লাইন এর খাঁজ বৃদ্ধি হবে।
অন্যান্য দরকারী ম্যাপিংগুলি হতে পারে:
:map <Tab> >
:map <S-Tab> <
এখন আমরা কিছু লাইন নির্বাচন করার মতো জিনিসগুলি করতে পারি এবং Tabসেগুলিতে entোকাতে হিট করি। অথবা Tabএর ইনডেন্টেশন বাড়াতে একটি লাইনে দু'বার চাপুন (কমান্ড মোডে)।
আপনি সঠিক খাঁজ ব্যবস্থাপনা কমান্ডগুলি ব্যবহার করেন, তাহলে সবকিছু তিন পরামিতি দ্বারা নিয়ন্ত্রিত হয়: shiftwidth
, tabstop
এবং expandtab
।
shiftwidth
পরামিতি আপনার খাঁজ আকার নিয়ন্ত্রণ করেন; আপনি যদি চারটি স্পেস ইন্ডেন্ট, ব্যবহার :set shiftwidth=4
বা সংক্ষিপ্ত বিবরণ চান :set sw=4
।
যদি কেবল এটি করা হয় তবে স্পেস এবং ট্যাবগুলির মিশ্রণ ব্যবহার করে ইনডেন্টেশন তৈরি করা হবে, কারণ noexpandtab
এটি ডিফল্ট। ব্যবহার :set expandtab
। এটি ট্যাব অক্ষরগুলির কারণ হয়ে থাকে যা আপনি বাফারে টাইপ করে ফাঁকা স্থানগুলিতে প্রসারিত করতে এবং ভিম-পরিচালিত ইনডেন্টেশনটির জন্য কেবল ফাঁকা স্থান ব্যবহার করতে পারেন।
কখন expandtab
চালু থাকে এবং আপনি যদি যথাযথ ভিম প্রক্রিয়াগুলির মাধ্যমে আপনার ইন্ডেন্টেশন পরিচালনা করেন তবে এর মান tabstop
অপ্রাসঙ্গিক হয়ে যায়। ট্যাবগুলি ফাইলে ঘটতে থাকলে কীভাবে উপস্থিত হয় তা এটি নিয়ন্ত্রণ করে। যদি আপনার কাছে থাকে set tabstop=8 expandtab
এবং তারপরে ফাইলটিতে কোনও হার্ড ট্যাব ছিটিয়ে থাকে তবে Ctrl-VTabএটি যথারীতি পরবর্তী 8-কলাম-ভিত্তিক ট্যাব অবস্থানে একটি প্রান্তিককরণ তৈরি করবে।