এটি যখন ভার্সন ট্যাবে আসে তখন ভিম খুব সমন্বিত হয় স্থান পছন্দ। আমি এটি যেমন বুঝতে পারি, tabstop
সেটিংটি কোনও ট্যাব অক্ষরের প্রস্থকে নির্দেশ করে। shiftwidth
সেটিং নির্দিষ্ট কত কলামকে বৃদ্ধি / হ্রাস যখন ব্যবহার <<এবং >>, কমান্ড যেহেতু softtabstop
সেটিং প্রভাব হোয়াইটস্পেস পরিমাণ যুক্ত করা যেতে যখন আপনি টিপুন Tabসন্নিবেশ মোডে কী। যদি expandtab
চালু থাকে তবে ট্যাব কীটি softtabstop
স্থানের অক্ষরের সংখ্যা সন্নিবেশ করায় । স্যুইচড expandtab
অফ থাকা অবস্থায়, Tabকী টিপে টিপ + স্পেস অক্ষরের সাথে সামান্যতম সম্ভাব্য সংখ্যার সন্নিবেশ করায় softtabstop
। (আমি ভুল হলে আমাকে সংশোধন করুন।)
এই চূড়ান্ত বিষয়টি আমাকে অবাক করে তোলে: এমন কোনও ব্যবহারিক ক্ষেত্রে রয়েছে যেখানে আপনি চান না shiftwidth == tabstop && tabstop == softtabstop
? আমি একজনের কথা ভাবতে পারি না। যতদূর আমি উদ্বিগ্ন, এটি সর্বাধিক সুবিধাজনক হবে যদি আমি এই সমস্ত 3 একই মান হিসাবে সেট করতে পারি, একটি একক কার্যভারে। যেমন কল:
:set stab=4
যা চলমান সমান হবে:
:set tabstop=4 softtabstop=4 shiftwidth=4
এটি কীভাবে করা যেতে পারে কেউ পরামর্শ দিতে পারে?
হালনাগাদ
জবাব দেওয়া এতদূর থেকে জন্য ধন্যবাদ অত্যধিক পিএইচপি , হবস এবং kaiser.se । পৃথকভাবে প্রতিটি উত্তর দেওয়ার পরিবর্তে, আমি এখানে প্রশ্ন আপডেট করছি।
সফটট্যাবস্টপ উইন্ডোড্যাটেব স্যুইচ অফ
আমি বললাম উপরে যে expandtab সঙ্গে সুইচ বন্ধ, ট্যাব + Space অক্ষরের একটি ক্ষুদ্রতম সম্ভব সংখ্যা ম্যাচ টিপে ট্যাব কী টিপে softtabstop
। আমি এর পাশে দাঁড়িয়েছি, তবে আমি মনে করি আমার কী বোঝাতে চাইছিল তা ব্যাখ্যা করা দরকার। আমি কয়েকটি উদাহরণ দিয়ে তা করার চেষ্টা করব। পাশাপাশি অনুসরণ করতে, চালান :set list
যাতে আপনি ট্যাব অক্ষর দেখতে পান।
tabstop=4 softtabstop=2 shiftwidth=4 noexpandtab
সন্নিবেশ মোডে, ট্যাব কী টিপলে 2 স্পেস অক্ষর সন্নিবেশ করানো হয়। দ্বিতীয় বার ট্যাব কী টিপুন, এবং আরও দুটি স্পেস অক্ষর 4োকানোর পরিবর্তে (মোট 4 স্পেস অক্ষরের জন্য) এটি পূর্ববর্তী 2 স্পেসকে একক ট্যাব অক্ষরের সাথে প্রতিস্থাপন করে। ট্যাবস্টপটি 4-এ সেট করা হয়েছে, তাই একক ট্যাব অক্ষরের 4 প্রস্থের সমান প্রস্থ রয়েছে।
tabstop=4 softtabstop=6 shiftwidth=4 noexpandtab
সন্নিবেশ মোডে, ট্যাব কী টিপলে 1 টি অক্ষরের সাথে আরও 2 টি ফাঁকা স্থান সন্নিবেশ করা হয়। ট্যাব অক্ষরটির প্রস্থ 4 হয়, সুতরাং মোট প্রস্থ 6 হয় এবং এটি 3 টি অক্ষর ব্যবহার করে অর্জিত হয়। দ্বিতীয়বার ট্যাব কী টিপলে দুটি ট্যাব অক্ষর সন্নিবেশ করানো হয় এবং পূর্বে wereোকানো দুটি স্থান সরিয়ে ফেলা হয়। মোট প্রস্থ 12, এবং এটি 3 টি অক্ষর ব্যবহার করে অর্জিত হয়েছে।
এই উভয় উদাহরণে, ভিম সফটটাবস্টপের সাথে মেলে এমন ন্যূনতম সম্ভাব্য সংখ্যক ট্যাব + স্পেস অক্ষর সন্নিবেশ করান।
যদি আমি এক্সপেনড্যাটেব স্যুইচ অফ দিয়ে কাজ করি তবে আমি নিজেকে অতিরিক্ত দানাদার নিয়ন্ত্রণটি দেখতে চাই না যা ট্যাবস্টপ থেকে আলাদা মূল্যে সফ্টট্যাবস্টপ সেট করে অর্জন করা যায়। এটা এখনও দরকারী আমাকে সেট পাবে জন্য হবে tabstop
, softtabstop
এবং shiftwidth
একটি কমান্ডের সাথে একই মান।
এক্সটেনড্যাব কি সফটটাবস্টপকে রিডান্ট্যান্ট বানায়?
tabstop=4 softtabstop=0 shiftwidth=4 expandtab
সন্নিবেশ মোডে, ট্যাব কী টিপলে 4 টি স্থান সন্নিবেশ করানো হয়। মুছুন কী টিপলে একক স্থান মুছে যায় - তাই আপনি দুর্ঘটনাক্রমে ট্যাব কীটি চাপলে আপনার 4 বার ব্যাকস্পেস করতে হবে।
tabstop=4 softtabstop=4 shiftwidth=4 expandtab
সন্নিবেশ মোডে, ট্যাব কী টিপলে 4 টি স্থান সন্নিবেশ করানো হয়। ব্যাকস্পেস কী টিপলে 4 স্পেস মুছে যায়।
আমি যদি expandtab
স্যুইচড দিয়ে কাজ করছি , আমি ট্যাব কী সন্নিবেশ হিসাবে সমান পরিমাণ শ্বেত স্থান অপসারণ করতে মুছুন কীটি পছন্দ করব। তাই এই ক্ষেত্রে, খুব, আমি মনে করি এটি একই মান নির্ধারণ পাবে দরকারী হবে tabstop
, softtabstop
এবং shiftwidth
একই সাথে।
একটি শর্টকাট এখনও দরকারী হবে
এটি দুর্দান্ত যে ভিম এত নমনীয়তা সরবরাহ করে, তবে আমি নিজেকে এটির প্রয়োজন দেখতে পাচ্ছি না। আমি কেবল একটি ট্যাবটির প্রস্থ বেছে নিতে সক্ষম হতে চাই এবং এটি একটি 'হার্ড' ট্যাব (কোনও ট্যাব অক্ষর ব্যবহার করে) অথবা একটি 'নরম' ট্যাব (ফাঁকা স্থান দিয়ে তৈরি) হোক। শক্ত এবং নরম ট্যাবগুলির মধ্যে টগলিং করা যথেষ্ট সহজ ( :set expandtab!
), তবে আমি আশা করি যে 3 টি পৃথক পরামিতিগুলির সাথে টুকরো টুকরো না করে ট্যাবটির প্রস্থ নির্ধারণ করা আরও সহজ হওয়া উচিত।
সুতরাং এর মতো কোনও কিছুর জন্য আমার প্রস্তাবিত পরামর্শটি আমার কাছে :set stab=4
ভাল লাগছে ।