Fino a poco tempo fa ho usato bash con tmux. Bash si stava comportando come mi sarei aspettato che si comportasse, dove la cronologia è conservata in ogni riquadro separato e non è condivisa tra i riquadri. Tuttavia sembra che in zsh l'impostazione predefinita per la cronologia nei riquadri sia shared. C'è un modo per sovrascrivere il default in zsh in modo che non siano condivisi quando si usa in tmux?E 'possibile non condividere la cronologia tra riquadri/finestre in tmux con zsh?
risposta
Tmux non dovrebbe avere nulla a che fare con questo, davvero. Concentriamoci quindi sulla configurazione Zsh.
Dovresti passare attraverso alcuni cerchi per far sì che la cronologia sia condivisa in tempo reale tra gli Zsh in esecuzione, quindi è sorprendente che tu stia vedendo questo. Quali impostazioni hai fatto per controllare la tua cronologia Zsh? Eseguire questo per visualizzare le impostazioni:
setopt |grep hist
Per non salvare la storia immediatamente, ti consigliamo:
setopt noincappendhistory
setopt nosharehistory
Si può mettere dentro il vostro ~/.zshrc
. Potresti voler uscire dalle shell in esecuzione per assicurarti che le tue nuove impostazioni abbiano luogo.
Per informazioni su tutte le opzioni Zsh storia correlate all'infusione, vedere man 1 zshoptions
e cercare la sezione “Storia” poche pagine in. Si noti che ci sono anche alcune variabili d'ambiente che la storia impatto (SAVEHISTORY
, HISTFILE
, HISTFILEIGNORE
, HISTSIE
, HISTFILESIZE
).
È sufficiente assicurarsi che 'SHARE_HISTORY' non sia impostato (' setopt nosharehistory'). Il problema non è che ogni comando sia immediatamente aggiunto al file di cronologia (come con 'INC_APPEND_HISTORY') ma che i comandi vengano importati dal file di cronologia durante una sessione di shell (invece solo all'inizio), cosa che accade solo con 'SHARE_HISTORY '. – Adaephon
grazie che sembrava risolverlo per me, in realtà stavo usando l'evidenziazione della sintassi oh-my-zsh e zsh. Sembra che quando importi queste cose, "sharehistory" diventa attivo e disabilitarlo in .zshrc ha fatto la cosa giusta. –