Obecnie skonfigurowałem zsh w taki sposób, aby historia poleceń była natychmiast dzielona między wszystkie sesje.
Powiedzmy, że mam otwarty emulator terminala z dwiema zakładkami, każda z sesją zsh, A1 i A2. Jeśli wprowadzę ls -la w A1, a następnie przejdę do A2 i naciśnie klawisz strzałki w górę, zobaczę ls -la w wierszu polecenia.
Chciałbym to zmienić, aby sesje nie dzieliły się historią poleceń, chociaż po rozpoczęciu nowej sesji pobiera ona całą poprzednią historię ze wszystkich sesji przed nią.
zsh
command-history
Sztuka
źródło
źródło
Odpowiedzi:
Prawdopodobnie masz już
INC_APPEND_HISTORY
ustawione.INC_APPEND_HISTORY
Opcja, zeman zshoptions
:Wymagana opcja to
APPEND_HISTORY
:Możesz przeczytać o tych opcji w
man zshoptions
,man zshall
lub online tutaj .Aby je ustawić, w swoim
~/.zshrc
lub podobnym, powinieneś mieć:Pamiętaj, że jeśli używasz oh-my-zsh domyślnie, to
INC_APPEND_HISTORY
jest używane. Nie jestem w 100% pewien, w jaki sposób wszystko się ładuje, ale jeśli taoh-my-zsh
opcja zastąpi tę, którą ustawiłeś~/.zshrc
, możesz się nią bawić~/.oh-my-zsh/lib/history.zsh
źródło
echo unsetopt INC_APPEND_HISTORY >~/.oh-my-zsh/custom/history.zsh
Aby dodać do zaakceptowanej odpowiedzi, jeśli używasz
oh-my-zsh
, prawdopodobnie maszSHARE_HISTORY
domyślnie włączoną opcję.Aby osiągnąć separację między uruchomionymi powłokami + całą historią w nowo otwartym terminalu, musisz skomentować lub usunąć następujący wiersz:
z
~/.oh-my-zsh/lib/history.zsh
źródło
~/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib/history.zsh
unsetopt share_history
w swojej.zshrc
Pooh-my-zsh
załadowaniu. Udokumentowane tutaj .