<ট্যাব> টিপে এবং স্বয়ংক্রিয়ভাবে প্রয়োগ করার সময় ট্যাব আকারটি ভিম করুন


22

আমি আমার ট্যাব আকারটি 4 থেকে 2 এ পরিবর্তন করার সিদ্ধান্ত নিয়েছি, কেন না? কোডটি দেখতে চাইলে অন্য যে কেউ অবশ্যই তার পছন্দগুলি ব্যবহার করতে পারে।

তবে, একটি প্রশ্ন।

আমি যদি ট্যাব কীটি আঘাত করি তবে এটি 2 টি সন্নিবেশ করায় তবে ভিমের স্বতঃসংশ্লিষ্ট এখনও 4 রাখছে that 2 করতে আমি কী পরিবর্তন করব?

অন্য অপ্রাসঙ্গিক প্রশ্ন: সি এবং অনুরূপ ভাষার জন্য কোন ইনডেন্ট শৈলী সবচেয়ে ভাল? আমি 1 টিবিএস ব্যবহার করে চলেছি, তবে এর মধ্যে অনেকগুলি বেছে নেওয়া হয়েছে। তাদের মধ্যে কি আরও পেশাদার বা পছন্দের?

উত্তর:


17

' shiftwidth' এর সমান মানতে ' ' সেট করার চেষ্টা করুন tabstop। আরও ভাল, যদি আপনি ভিমের সাম্প্রতিক পর্যায়ে যথেষ্ট সংস্করণ ব্যবহার করেন তবে ' shiftwidth' থেকে 0 সেট করুন এবং এটি ' tabstop' তে সেট করাতে ডিফল্ট হবে ।


এই আমি খুঁজছিলাম ছিল। বর্তমানে ts2, 4 বা 8 হিসাবে সেটিং-এর মধ্যে বিতর্ক করছেন
ব্যবহারকারী 341814

আমি নন-কোড ফাইলগুলিতে 8 ব্যবহার করি এবং ভাষার উপর নির্ভর করে 2 বা 4 হয় এবং কতটা বাসা বেঁধে যায়।
হেপাটাইতে

এই মুহুর্তে আমি কেবল সি করি।
ব্যবহারকারী 341814

33

ভিম ইন্ডেন্টেশন বিকল্প

ভিম মূলত ইনডেন্টিং আকার হিসাবে 3 সেটিংস ব্যবহার করে:

  • tabstop, ts: আপনি যখন খুলছেন এমন কোনও ফাইলে যখন ভিম কোনও ট্যাবুলেশনের মুখোমুখি হয়, তখন এটি ট্যাবটিকে {ts} স্পেস হিসাবে প্রদর্শন করে ( ট্যাবস্টপ সহায়তা দেখুন , বা ভিমে টাইপ করুন :help tabstop)।
  • softtabstop, sts: আপনি যখন কোনও ফাইল সম্পাদনা করছেন এবং ট্যাব কী টিপুন, সন্নিবেশকৃত টেবুলেশনের প্রস্থ নির্ধারণ করতে ( সিমট্যাবস্টপ সহায়তা দেখুন , বা ভিমে টাইপ করুন :help softtabstop) ভিম এই সেটিংটি ব্যবহার করে ।
  • shiftwidth, sw: শূণ্যস্থান সংখ্যা তেজ ব্যবহার যখন ইন্ডেন্ট করেও, হয় autoindent কাপড় বা চলিত ব্যবহার >>, <<কমান্ড। হেপাটাইতে যেমন লক্ষ্য করা গেছে, আপনি এই বিশেষ ক্ষেত্রে এটিই খুঁজছিলেন। এবং ভিমের সাম্প্রতিক সংস্করণগুলি আপনাকে এই বিকল্পটি সংজ্ঞায়িত না করার অনুমতি দেয়, shiftwidthতবে এর দ্বারা নির্ধারিত মানটি গ্রহণ করবে tabstop। বেশ কার্যকর ( শিফটউইথ সহায়তা দেখুন )।

উদাহরণ

সুতরাং উদাহরণস্বরূপ, যদি আপনি নিম্নলিখিত সেটিংস ব্যবহার করেন:

set sts=4
set ts=2
set sw=8

এগুলি নিম্নলিখিত আচরণ উত্পাদন করে:

  1. ফাইলটিতে একটি সারণী সন্নিবেশ করানো 4 স্পেস প্রশস্ত একটি ইনডেন্টিং উত্পাদন করতে পারে।
  2. যেমন আপনার tabstop2 তে সেট করা আছে, এটি আসলে 2 টি ট্যাবুলেশনের সমতুল্য। এটি চেক করা মোটামুটি সহজ, কেবল ট্যাবুলেশনগুলি প্রদর্শনের জন্য listএবং listcharsবিকল্পগুলি ব্যবহার করুন ।
  3. আপনি যদি একটি লাইন ব্যবহার করে ইনডেন্ট করেন >>তবে ইনডেন্টেশনটি 8 স্পেস প্রশস্ত হবে (সুতরাং, 4 টি ট্যাবুলেশনের সমান, tabstopমূল্যের উপর ভিত্তি করে , উপরের মতো)।

এখানে চিত্র বর্ণনা লিখুন

ভিম ইন্ডেন্টেশন সুপারিশ (ভিম ডকুমেন্টেশন থেকে)

tabstopসহায়তা থেকে ( :help tabstopভিমে):

There are four main ways to use tabs in Vim:
  1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4
    (or 3 or whatever you prefer) and use 'noexpandtab'.  Then Vim
    will use a mix of tabs and spaces, but typing <Tab> and <BS> will
    behave like a tab appears every 4 (or 3) characters.
  2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
    'expandtab'.  This way you will always insert spaces.  The
    formatting will never be messed up when 'tabstop' is changed.
  3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
    |modeline| to set these values when editing the file again.  Only
    works when using Vim to edit the file.
  4. Always set 'tabstop' and 'shiftwidth' to the same value, and
    'noexpandtab'.  This should then work (for initial indents only)
    for any tabstop setting that people use.  It might be nice to have
    tabs after the first non-blank inserted as spaces if you do this
    though.  Otherwise aligned comments will be wrong when 'tabstop' is
    changed.

আমি ব্যক্তিগতভাবে 2 স্পেস প্রশস্ত ট্যাবুলেশন সহ প্রধানত দ্বিতীয় সমাধানটি ব্যবহার করি।

set ts=2
set sts=2
set et     "expand tabs to spaces

-1

Http://vim.wikia.com / উইকি / ইন্ডেন্টিং_সোর্স_কোড অনুসারে , 'ফাইল টাইপ প্লাগইন ইনডেন্ট অন' কমান্ডের ফলে প্রোগ্রামটি ফাইল টাইপ-নির্দিষ্ট ইন্ডেন্টেশন স্ক্রিপ্টগুলি ভিম ইনস্টলেশনের ইন্ডেন্ট সাব-ডিরেক্টরিতে অবস্থিত ব্যবহার করবে। সেই পৃষ্ঠাটিতে আরও বলা হয়েছে যে 'সিন্ডেন্ট' সি এবং সি ++ ফাইলে স্বয়ংক্রিয়ভাবে ব্যবহৃত হয় এবং আপনাকে সেই আদেশটি ম্যানুয়ালি ব্যবহার করার প্রয়োজন হবে না।

আমি ভিমের সাথে খুব বেশি পরিচিত নই, কারণ আমি এটি কেবলমাত্র মাঝে মধ্যে কিছু মৌলিক পাঠ্য-সম্পাদনার জন্য ব্যবহার করি, তবে আমি সেই কোডটির জন্য ভিমের ডিফল্ট অটোইন্ডেন্ট আকার ব্যবহার করার জন্য ম্যানুয়ালি 'সিনডেন্ট' কমান্ড দেওয়ার চেষ্টা করব। যদি এটি কাজ না করে, আপনি 'ফাইল টাইপ প্লাগইন ইনডেন্ট অন' চেষ্টা করতে পারেন এবং পছন্দসই ইনডেন্টগুলি পেতে নিজে স্ক্রিপ্টগুলি সম্পাদনা করতে পারেন।

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