আমি কীভাবে কোনও রেজিস্টার / একাধিক নিবন্ধ সম্পূর্ণভাবে সাফ করতে পারি?


16

আমি বেশ প্রায়ই ব্যবহার :registersসব রেজিস্টার বিষয়বস্তু দেখানোর জন্য কমান্ড (আমি ভুলে আমি যা করা যেখানে, ঠিক কি ভূমিকা "*, "., "%, ইত্যাদি আছে)।

বিশেষত যেহেতু আমি "বিকল্পটিতে বিকল্পটি সেট করেছি viminfo, এবং তাই আমার রেজিস্টারগুলি আমার ভিএম সেশনের মধ্যে স্থির থাকে (যা সাধারণত আমি চাই, স্বল্প মেয়াদে), সময়ের সাথে সাথে :registersতালিকাগুলি দীর্ঘতর হয় এবং আরও জটিল এবং ভরাট হয় সত্যিই পুরানো জিনিস সঙ্গে।

এখনও অবধি, আমি এটি সমাধান করার একমাত্র উপায় হ'ল ম্যানুয়ালি 'পুরাতন' নিবন্ধের সামগ্রীগুলি সম্পাদনা করা ~/.viminfo, যা আমার করা দরকার vim -u NONEএবং তাই এটি কিছুটা জটিল umbers

সমস্ত নিবন্ধগুলি মুছতে, বা একটি নির্দিষ্ট রেজিস্টার মুছার কোনও ক্লিনার উপায় আছে, সুতরাং এটি আর :registersতালিকায় প্রদর্শিত হয় না ?

উত্তর:


12

সংক্ষেপে, নিবন্ধগুলি এত সহজে মুছে ফেলার কোনও পরিষ্কার উপায় নেই যেগুলি সেগুলি থেকে অদৃশ্য হয়ে যায় :reg

নিয়ে অস্পষ্ট পরিবর্তে ~/.viminfo, আমি "softclear" রেজিস্টার ঝোঁক যখন আমি আসলেই তাদের সেটিং ফাঁকা হতে তাদের সাথে কাজ করছি। aরেজিস্টারটি সাফ করার জন্য, উদাহরণস্বরূপ, আমি খালি স্ট্রিংতে নিবন্ধটি qaqসেট করতে টাইপ করি a। সমানভাবে, :let @a=''একই কাজ করে।

তারপরে, আউটপুটটি অনুসন্ধান :regকরা এখনও সহায়ক কারণ খালি নিবন্ধ এবং নিবন্ধভুক্ত নিবন্ধগুলির মধ্যে এটি নির্ধারণ করা খুব সহজ। অন্যদিকে, আমি দেখতে পেয়েছি যে মূলত আমার নামযুক্ত সমস্ত রেজিস্টারগুলি উপরের সারিতে (ম্যাক্রো) বা মূল সারি (দরকারী পেস্টের জিনিসগুলি) এর উপরে থাকে এবং তারপরেও আমি কেবল প্রায় 15 টি নামধারী রেজিস্টার ব্যবহার করেছি।

কয়েক বছর আগে ভিম মেলিং তালিকায় একটি থ্রেড ছিল যা এ সিদ্ধান্তে পৌঁছেছিল যে নিবন্ধগুলি মোছার সহজ উপায় ছিল না।


5

(বলুন, রেজিস্টার নাম মুছে ফেলার জন্য অনুপস্থিত তাদের জন্য a) থেকে :registersতালিকা, সেখানে হয় এখন এটা করতে একটি উপায়। কমান্ড চালান :call setreg('a', [])

ব্যবহারকারী @ লুকহর্মিট থেকে স্ট্যাকওভারফ্লোতে এই প্রশ্নটি থেকে আমি এটি খুঁজে পেয়েছি। তার উত্তরটি কীভাবে একাধিক নিবন্ধগুলি সাফ করবেন তার বিশদ রয়েছে। আপনি যদি এই কাজটি অত্যন্ত সহজ হতে চান তবে আপনার .vimrc:) এর সাথে সৃজনশীল হন


3

এটি আপনার মধ্যে রাখুন .vimrc:

command! WipeReg for i in range(34,122) | silent! call setreg(nr2char(i), []) | endfor

এবং প্রতিটি নিবন্ধের সাথে সাফ করুন :WipeReg

আপনি যদি প্রতিবারই এটি শুরু করতে চান তবে ভিমটি যুক্ত করুন:

autocmd VimEnter * WipeReg

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