ভিমে, সাথে
:buffers
আমি সমস্ত বাফারগুলির সাথে একই নম্বর পাই
:ls
, তবে
আমি কীভাবে মোট বাফার সংখ্যা পেতে পারি?
ভিমে, সাথে
:buffers
আমি সমস্ত বাফারগুলির সাথে একই নম্বর পাই
:ls
, তবে
আমি কীভাবে মোট বাফার সংখ্যা পেতে পারি?
উত্তর:
হেপাটাইটের সমাধানের চেয়ে একই ধারণা, তবে ওয়ান লাইনার হিসাবে। আরও অনেকগুলি কাজ এইভাবে করা যেতে পারে: বাফারের নাম পান (মানচিত্রের জন্য ধন্যবাদ), একটি প্যাটার্নের সাথে মেলে এমন মুছা বাফারস , /programming/2974192/how-can-i-pare-down- সিম্প-বাফার-তালিকা-কেবলমাত্র-সক্রিয়-বাফার / 2974600 # 2974600n ইত্যাদি অন্তর্ভুক্ত include
echo len(filter(range(1, bufnr('$')), 'buflisted(v:val)'))
এখনও পর্যন্ত উত্তরগুলি খুব হ্যাকিযুক্ত। এখানে ভিমের অন্তর্নির্মিত উপায় রয়েছে:
len(getbufinfo({'buflisted':1}))
সর্বদা হিসাবে, :h getbufinfo()
সরকারী ব্যাখ্যার জন্য ভিমের সহায়তা ( ) দেখুন।
আমার জানা মতে এটি করার জন্য ভিমে কোনও অন্তর্নির্মিত পদ্ধতি নেই তবে আপনি একটি ফাংশন তৈরি করতে পারেন:
function! NrBufs()
let i = bufnr('$')
let j = 0
while i >= 1
if buflisted(i)
let j+=1
endif
let i-=1
endwhile
return j
endfunction
উপরের একটি টেক্সট ফাইলে এর নামের সাথে শেষ করে রাখুন .vim,: উত্স হিসাবে এটি শেষ করুন, তারপরে আপনি এর মতো কিছু করতে পারেন:
:let buffer_count = NrBufs()
:echo buffer_count
২১ শে জুন নোট: আপনার যদি 2017 সালের হিসাবে ভিমের সাম্প্রতিক সংস্করণ থাকে তবে নীচের গিডের উত্তরটি সর্বোত্তম সমাধান is
আপনি সম্ভবত খুঁজছেন?
:echo(bufnr('$'))