Zsh এ কমান্ডের ইতিহাস


32

বর্তমানে আমি zsh এমনভাবে সেট আপ করেছি যাতে কমান্ডের ইতিহাসটি সমস্ত সেশনের সাথে সাথে ভাগ হয়ে যায়।

বলুন যে আমার কাছে দুটি টব সহ একটি টার্মিনাল এমুলেটর খোলা আছে, যার প্রতিটি জ্যাশ সেশন, এ 1 এবং এ 2 রয়েছে। আমি যদি এ 1-এ ls -la প্রবেশ করি , এবং তারপর A2 তে গিয়ে তীর কী টিপছি , আমি কমান্ড প্রম্পটে ls -la দেখতে পাব ।

আমি এটি পরিবর্তন করতে চাই যাতে সেশনগুলি কমান্ডের ইতিহাস একে অপরের সাথে ভাগ করে না নেয় যদিও আপনি নতুন সেশন শুরু করার আগে এটি সমস্ত সেশন থেকে পূর্ববর্তী সমস্ত ইতিহাস পেয়ে যায়।


আমি নিয়মিত তা করি। এখনও অনেক প্রশ্ন রয়েছে যার এখনও সন্তোষজনক উত্তর নেই।
আর্ট

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

উত্তর:


40

আপনি সম্ভবত INC_APPEND_HISTORYসেট হয়ে গেছে।

INC_APPEND_HISTORYবিকল্প থেকে man zshoptions:

এই বিকল্পগুলি অ্যাপ্লিকেশন END_HISTORY এর মতো কাজ করে shell ইতিহাসের লাইনগুলি ক্রমশ বাইরে না আসা পর্যন্ত অপেক্ষা না করে incre HISTFILE ক্রমবর্ধমানভাবে (প্রবেশ করার সাথে সাথে) যুক্ত করা হয় except

আপনি যে বিকল্পটি চান তা হ'ল APPEND_HISTORY:

অ্যাপ্লিকেশন END_HISTORY যদি এটি সেট করা থাকে তবে zsh সেশনগুলি তাদের ইতিহাস তালিকাটি প্রতিস্থাপনের পরিবর্তে ইতিহাসের ফাইলে যুক্ত করবে। সুতরাং, একাধিক সমান্তরাল zsh সেশনের সমস্তগুলি তাদের ইতিহাস তালিকাগুলি থেকে নতুন ফাইলগুলিতে ইতিহাস ফাইলটিতে যুক্ত হবে যাতে তারা প্রস্থান করতে পারে। ফাইলটি এখনও পর্যায়ক্রমে এটি ছাঁটাই করতে পুনরায় লেখা হবে যখন V সংরক্ষণের দ্বারা নির্দিষ্ট করা মানের বাইরে লাইন সংখ্যা 20% বৃদ্ধি পাবে (কপি বিকল্পের সাহায্যে সংরক্ষণ করুন সংরক্ষণ করুন দেখুন) see

আপনি এই বিকল্পগুলি সম্পর্কে পড়তে পারেন man zshoptions, man zshallবা অনলাইন এখানে

এগুলি সেট করতে, আপনার ~/.zshrcবা অনুরূপ, আপনার থাকা উচিত:

setopt APPEND_HISTORY

সচেতন থাকুন, আপনি যদি ডিফল্টরূপে ওহ-মাই-জেডএসINC_APPEND_HISTORY ব্যবহার করেন তবে আমার বিশ্বাস, ব্যবহৃত হয়েছে। জিনিসগুলির চারপাশে বোঝা যাবার জন্য আমি 100% নিশ্চিত নই, তবে oh-my-zshবিকল্পটি আপনি যেটি সেট করেছেন সেটিকে যদি ওভাররাইড করে তবে আপনি ~/.zshrcএটিতে ঝাঁকুনি দিতে পারেন~/.oh-my-zsh/lib/history.zsh


echo unsetopt INC_APPEND_HISTORY >~/.oh-my-zsh/custom/history.zsh
youfu

পুনরায় চালু হওয়ার পরে (zsh এবং ওহ-আমার- zsh এর জন্য) ট্যাবগুলির স্বতন্ত্র ইতিহাস পুনরুদ্ধার করার জন্য আইটির্ম 2 কীভাবে কনফিগার করা যায়?
গুগল

10

গ্রহণযোগ্য উত্তর যুক্ত করতে oh-my-zsh, আপনি যদি ব্যবহার করেন তবে আপনার সম্ভবত SHARE_HISTORYডিফল্টরূপে সক্ষম করা বিকল্প রয়েছে।

সদ্য খোলা টার্মিনালটিতে চলমান শেল + পুরো ইতিহাসের মধ্যে পৃথকীকরণের জন্য, আপনাকে নীচের লাইনটি মন্তব্য করতে বা সরাতে হবে:

setopt share_history # share command history data

থেকে ~/.oh-my-zsh/lib/history.zsh


আমার ক্ষেত্রে, ইতিহাস. ~/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib/history.zsh
zsh

3
এটির আর একটি উপায় হ'ল unsetopt share_historyআপনার .zshrcপরে oh-my-zshবোঝা চাপানো। নথিভুক্ত এখানে
কাউন্টার করা

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