ভিমে সি সহ অটো-ইনডেন্ট স্পেসস?


85

আমি গ্রহণ এবং জাভা ব্যবহার করে কিছুটা নষ্ট হয়ে গিয়েছি। আমি একটি লিনাক্স এনভায়রনমেন্টে সি কোডিং করতে ভিআইএম ব্যবহার শুরু করেছি, ব্লকগুলির জন্য স্বয়ংক্রিয়ভাবে যথাযথ স্পেসিং করার জন্য কি কোনও উপায় আছে?

সুতরাং টাইপ করার পরে next পরের লাইনে 2 স্পেস ইনডেন্ট থাকবে এবং সেই লাইনে ফিরলে এটি একই ইনডেন্টেশনে থাকবে এবং একটি 2 2 স্পেস পিছনে ফিরে যাবে?

উত্তর:


135

এই দুটি আদেশের এটি করা উচিত:

বোনাস পয়েন্টগুলির জন্য এগুলি লিনাক্সের আপনার হোম ডিরেক্টরিতে অবস্থিত .vimrc নামে একটি ফাইলে রাখুন


12
আমি সেগুলি ~ .vim / ftplugin / c.vim এ রাখার পরামর্শ দিচ্ছি যাতে আপনি সমস্ত সময় সিন্ডেন্ট ব্যবহার করেন না, কেবল সি / সি ++ ফাইলের জন্য।
ধুসর 21

@ গ্রেভঃ পিএল, পিএইচপি, সিপিপি, যেমন, জাভা এবং অন্যান্য সমস্ত ফাইলের জন্য আমি একই ইনডেন্টিং করতে চাই? আমার কি প্রত্যেকের জন্য পৃথক সেটিংস ফাইল তৈরি করা দরকার?
davr

17
আমি ভিমের বান্ডিলযুক্ত ইনডেন্ট স্ক্রিপ্টগুলি (: ফাইল টাইপ ইন্ডেন্ট অন) নির্ভর করি যা সর্বদা 'সিনডেন্ট' ব্যবহারের চেয়ে অনেক ভাল।
ধুসর

4
কেন filetype: খাঁজ cindent ব্যবহার বেশী ভালো হয় ভাল এখানে ব্যাখ্যা vim.wikia.com/wiki/...
Jayen

4
স্বতঃস্ফূর্ততার জন্য, আপনি শর্টহ্যান্ড ব্যবহার করতে চান:
আইই

56

আমি ভিমে সমস্ত ট্যাব সম্পর্কে লিখেছিলাম , যা আপনার কাছে জিজ্ঞাসা করা হয়নি এমন কয়েকটি আকর্ষণীয় জিনিস দেয়। ব্রেসটি স্বয়ংক্রিয়ভাবে ইনডেন্ট করতে, ব্যবহার করুন:

দুটি স্পেস যুক্ত করতে (আটটি স্পেসের এক ট্যাবের পরিবর্তে, ভিম ডিফল্ট):

আটটি স্পেসকে ট্যাবগুলিতে রূপান্তর করা থেকে ভিম রাখতে:

আপনি যদি কখনও টেক্সটের একটি ব্লকের ইন্ডেন্টেশন পরিবর্তন করতে চান তবে <এবং> ব্যবহার করুন। আমি সাধারণত এটি ব্লক-নির্বাচন মোডের সাথে একযোগে ব্যবহার করি (v, পাঠ্যের একটি ব্লক নির্বাচন করুন, <বা>)।

(আমি দ্বি-স্থানের ইন্ডেন্টেশন ব্যবহার করে আপনার সাথে কথা বলার চেষ্টা করব, যেহেতু আমার (এবং বেশিরভাগ লোকদের) এটি পড়তে অসুবিধা হয়েছে তবে এটি অন্য আলোচনা))


খুব সুন্দর ব্লগ। আমি এখনও ভিমে মোটামুটি নতুন, যদিও সেখানে ভাল সংস্থান আছে তা জেনে খুশী।
zxcv

4
আপনি শিফটউইথ ছাড়াও সফটটাবস্টপ পরিবর্তন করতে মিস করেছেন।
ধুসর 21

8

ভিমের অনেকগুলি বৈশিষ্ট্য (যেমন autoindentএবং cindent) ডিফল্টরূপে বন্ধ থাকে। সত্যিই তা দেখতে তেজ আপনার জন্য কি করতে পারে, আপনি একটি শালীন প্রয়োজন ~/.vimrc

একজন ভাল স্টার্টার আছেন $VIMRUNTIME/vimrc_example.vim। আপনি যদি এটি চেষ্টা করে দেখতে চান তবে ব্যবহার করুন

যখন ভিমে

আমি আসলে আপনার কন্টেন্টগুলি অনুলিপি করার সাথে ~/.vimrcসাথে এটির অনুলিপি করার পরামর্শ দিই এবং ভিএম কীভাবে ব্যবহার করতে হয় তা শেখার জন্য একটি ভাল জায়গা। আপনি এই দ্বারা এটি করতে পারেন

এটি আপনার বর্তমানটিকে ওভাররাইট করে দেবে ~/.vimrc, তবে ড্যায়ারের পরামর্শ অনুসারে যদি আপনার সমস্ত কিছু অন্তর্ভুক্ত থাকে তবে আমি এটি ঘামতে পারব না, উদাহরণস্বরূপ, ভিএমআরসিও আপনার যত্ন নেবে। উদাহরণের একটি সম্পূর্ণ পদক্ষেপের জন্য এবং এটি আপনার জন্য কি করে, দেখুন :help vimrc-intro


6

সহজভাবে চালান:


4
আমি যিনি নিচে ভোট দিয়েছি তা ছিল না, তবে সম্ভবত এটি "auto" এবং "}" টাইপ করার পরে কেবল "সেট অটোইন্ডেন্ট" নিজস্ব স্বয়ং-ইনডেন্টের উপর নির্ভর করে না এবং এটি স্বয়ংক্রিয়ভাবে ব্যবধানটিকে 2 স্পেসে সেট করে না। এটাই তারা চেয়েছিল।
ভিক্টর জামামানিয়ান

3

আমি মনে করি সেরা উত্তরটি আসলে উইম উইকিয়ায় ব্যাখ্যা করা হয়েছে:

http://vim.wikia.com/wiki/Indenting_source_code

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


0

এবং সর্বদা স্পেস + ট্যাবগুলির এই শ্রদ্ধেয় ব্যাখ্যাটি মনে রাখবেন:

http://www.jwz.org/doc/tabs-vs-spaces.html


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


-1

চেষ্টা করুন:

সেট sw = 2

ts = 2 সেট করুন

স্মার্টিনডেন্ট সেট করুন


সহায়তা অনুসারে, সিন্ডেন্ট স্মার্টিনডের চেয়ে ভাল তবে কেবল সি-জাতীয় কোডের জন্য কাজ করে।
থোমাসরুটটার

স্মার্টইন্ডেন্টকে অবহেলা করা হয়েছে (কেবল সি-এর মতো কোডের জন্যও ছিল)। ফাইল টাইপের ইনডেন্ট স্ক্রিপ্টগুলি আরও ভাল।
ধুসর

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