প্রাথমিকভাবে কিছুই ভাঁজ করার জন্য আমি কীভাবে ভিএম-তে ফোল্ডিওয়েলস্টার্ট সেট করতে পারি, তারপরেও zr অবিলম্বে কাজ করতে দেয়?


8

তেজ, আমি সাধারণত সেট foldmethodকরতে indentঅধিকাংশ ফাইল প্রকারগুলির জন্য। সাধারণভাবে, আমি সমস্ত ভাঁজ খোলা দিয়ে ফাইলগুলি খুলতে চাই। যাইহোক, zmফাইলটি জুড়ে বিশ্বব্যাপী ভাঁজগুলি বন্ধ করতে শুরু করার জন্য অবিলম্বে ব্যবহার করা দরকারী , এক সময় এক পর্যায়ে, আমাকে বিবরণটি না পেয়ে ফাইলটির সামগ্রিক কাঠামোটি দেখতে দেয়।

আমি যে সাধারণ সমাধান খুঁজে পেয়েছি তা হ'ল foldlevelstartখুব বেশি সংখ্যায় সেট করা, উদাহরণস্বরূপ, 99, সমস্ত ফাইল (বিভিন্ন ফাইলের সর্বাধিক ইনডেন্টের বিভিন্ন স্তরের উপস্থিতি থাকবে) সম্পূর্ণ উন্মুক্ত হওয়া নিশ্চিত করার জন্য। তবে, এরপরে আমাকে zmবারবার ব্যবহার করতে হবে foldlevelফাইলের সর্বাধিক ভাঁজ স্তরটি হ্রাস করতে, সাধারণত 99 এর চেয়ে অনেক কম, যা জটিল এবং অবৈধ। আমি foldlevelভিএম কমান্ড লাইনটি ব্যবহার করে ম্যানুয়ালি সেট করতে পারতাম , তবে ফাইলের সর্বাধিক ইনডেন্টটি আমার এখনও জানতে হবে।

ফাইলের foldlevelমধ্যে সর্বাধিক বর্তমান ইন্ডেন্ট / ভাঁজ স্তরটির চেয়ে ঠিক একটিতে সেট থাকা কোনও ফাইল খোলার বাস্তব উপায় আছে কি ?

উদাহরণস্বরূপ, নিম্নলিখিত ফাইলটি দেওয়া:

a
  b
    c
      d1
      d2
    e
      f1
      f2

এর প্রথম কিপ্রেস zmএটি দেখায়:

a
  b
    c
+--  2 lines: d1------
    e
+--  2 lines: f1------

(নোট, তবে, এটি সাধারণ ক্ষেত্রে কাজ করা উচিত যেখানে ফাইলের প্রাথমিক সর্বাধিক ইনডেন্ট কোনও মান হতে পারে)।


1
আপনি বিভ্রান্ত zrকরছেন zm; দ্বিতীয়টি ভাঁজকে কমিয়ে দেয়
ইনগো কারকাত

@ ইঙ্গোকারকাট, আপনি ঠিক বলেছেন, আমি আছি। বিভ্রান্তির জন্য দুঃখিত - আমি সবসময় এই কীগুলির কম্বোকে স্ব-স্বজ্ঞাত বলে মনে করি। আমি আমার প্রশ্ন স্থির করেছি।
অ্যান্ড্রু ফেরিয়ার 21 '9

"আমি সর্বদা এই কী কম্বোগুলি স্বতঃস্ফূর্তভাবে খুঁজে পাই" এর অর্থ zm= ভাঁজ আরও (বিয়োগফল) এবং zr= ভাঁজ কম (ভাঁজ যোগ করুন)
উইসবাকী

উত্তর:


9

এটি বর্তমান ফাইলে সর্বাধিক ভাঁজ খুঁজে পায়:

:let &foldlevel = max(map(range(1, line('$')), 'foldlevel(v:val)'))

এটি স্বয়ংক্রিয়ভাবে সেট করতে, আপনি এটি ব্যবহার করতে পারেন :autocmd:

:autocmd BufWinEnter * let &foldlevel = max(map(range(1, line('$')), 'foldlevel(v:val)'))

1
ইনগো, নিখুঁত, আমি ঠিক যা খুঁজছিলাম। ধন্যবাদ। লজ্জার foldlevelstartমতো এই বিকল্প নেই।
অ্যান্ড্রু ফেরিয়ার

এটি সাইগউইন ভিমে কাজ করবে বলে মনে হচ্ছে না। যখন আমি এই সেটিংগুলির সাথে কোনও ফাইল লঞ্চ করি তখন আমার foldlevelবয়স 0 foldlevelstartহয়।
সিএমসিডিগ্রাগনকাই

0

পরিবর্তে ব্যবহার করুন zr, ব্যবহার করুন zR, যা সমস্ত ভাঁজ খুলবে। একইভাবে, zMসমস্ত ভাঁজ বন্ধ হবে।


গ্যারি, ধন্যবাদ এটি কাছে, তবে আমি যা বর্ণনা করি তা করে না। আমি একটি কমান্ড চাই যা ভাঁজ স্তরটি কেবল একের দ্বারা হ্রাস করে তবে প্রশ্নযুক্ত ফাইলের সাথে সর্বাধিক ভাঁজ স্তর থেকে প্রাসঙ্গিক। এটি করার জন্য, আমার ফোল্ডলেভেলটি 0 টি কমাতে zM ব্যবহার করতে হবে, তারপরে আরও বিশদ খোলার জন্য বার বার zr করা উচিত। আমি একটি কমান্ড / কী সমন্বয় খুঁজছি।
অ্যান্ড্রু ফেরিয়ার

2
আপনি করতে পারেন zR(ভাঁজটি সর্বোচ্চ স্তরে সেট করুন) তারপরে zmকাজ করবে। এটি মাত্র একটি অতিরিক্ত পদক্ষেপ।
উইসবাকি

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