zsh, আপ তীর কেবল অনন্য আদেশগুলি পুনরাবৃত্তি করবে?


21

আমি এমন একটি সেটিংস খুঁজছি যা এটি তৈরি করবে যাতে আমি যখন উপরের তীরটি আঘাত করি তখন zsh কমান্ডগুলি দেখায় যা আমি সম্প্রতি সম্পাদনা করেছি। ধরাটি হচ্ছে, আমি কেবল অনন্য কমান্ড চাই । বর্তমানে, আমি যদি echo "hello world"50 বার টাইপ করি তবে ইকো কমান্ডটি টাইপ করার আগে ব্যবহৃত কমান্ডটি পেতে আমি 50 বার তীর টিপতে হবে । এটি অন্তত বলতে বিরক্তিকর।

আমার কী সেটিংস সক্ষম / অক্ষম করতে হবে সে সম্পর্কে কোনও চিন্তাভাবনা?

উত্তর:


23

HIST_IGNORE_ALL_DUPSকমান্ডের সমস্ত পূর্ববর্তী ম্যাচগুলি ফেলে দেবে , যা ইতিহাস পরে যখন আপনি করেছিলেন তার লগ হিসাবে ব্যবহার করার সময় বিভ্রান্ত হতে পারে।

আপনার প্রয়োজনগুলির আরও নিবিড় ফিট সম্ভবত বিকল্প HIST_IGNORE_DUPSবা এমনকি HIST_FIND_NO_DUPSবিকল্প।

দেখুন man zshoptions | less -p History:

HIST_FIND_NO_DUPS: লাইন সম্পাদকটিতে ইতিহাসের প্রবেশের সন্ধান করার সময়, নকলগুলি স্বতঃস্ফূর্ত না হলেও, পূর্বে পাওয়া লাইনের নকলগুলি প্রদর্শন করবেন না।

এইচআইএসআইআইএনএনএনআর_এলএল_ডিপিএস: ইতিহাসের তালিকায় নতুন কমান্ড লাইনটি যদি কোনও পুরানোটিকে নকল করে তোলে তবে পুরানো কমান্ডটি তালিকা থেকে সরানো হবে (এমনকি এটি পূর্ববর্তী ঘটনা না হলেও)।

HIST_IGNORE_DUPS: পূর্ববর্তী ইভেন্টটির সদৃশ হয়ে থাকলে ইতিহাসের তালিকায় কমান্ড লাইন প্রবেশ করবেন না।


1
আমার মনে হয় এর চেয়ে HIST_FIND_NO_DUPS একটি উত্তম উত্তর।
মাইকেল

3

আমি আক্ষরিকভাবে কেবল এটি করার কোনও উপায় দেখতে পাচ্ছি না, তবে আপনি যদি HIST_IGNORE_ALL_DUPSবিকল্পটি সেট করেন তবে কেবলমাত্র একটি আদেশের সাম্প্রতিকতম সংস্করণটি ইতিহাসে ধরে রাখা হবে, আপনাকে একই প্রভাব দেবে।

দেখুন man zshoptionsবিস্তারিত জানার জন্য।


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