隔離された空の履歴で各シェルを起動するようにZSHをどのように設定できますか?

隔離された空の履歴で各シェルを起動するようにZSHをどのように設定できますか?

Oh My ZshでZSHを使用します。私はすべての新しいZSHシェルが空の履歴から始まることを望みます。あるシェルに入力されたコマンドは、他のシェルの履歴には表示されません。この目標をどのように達成できますか?

私は以下を私のファイルに追加しようとしましたが、~/.zshrc役に立ちませんでした。

setopt no_share_history
unsetopt share_history
unsetopt inc_append_history
unsetopt append_history

私もこれに従ってください。回答矢印キーを使用すると、地域の履歴のみが表示されるようにしましたが、効果がないようです。

現在新しいシェルを開くと、履歴が取得されます。履歴を削除できないようです。履歴を削除すると、新しい~/.zsh_historyシェルを開くとすぐに、以前のコンテンツ全体が再表示されます。inc_append_historyこれにより履歴をすぐに書き込むことはできませんが、シェルが閉じたときに記録が保存されます。

答え1

ファイルに以下を追加します~/.zshrc

function erase_history { local HISTSIZE=0; }
erase_history

インタラクティブzshシェルを起動するたびに履歴が削除されます。

答え2

HISTFILESAVEHISTzsh履歴は、変数(記録ファイルへのパス)と変数(保存する項目数)を設定した場合にのみ保存されます。

~/.zshrcしたがって、設定された場所(あなたのものでも含まれているファイルでもよい)からこれらの変数定義を削除するだけです。そのうちの1つだけを設定しても十分です。

setopt no_share_historyand unsetopt share_history(またはset +o nonosharehistory, etc. or ) はoptions[sharehistory]=offまったく同じです。

関連情報