В настоящее время я настроил zsh таким образом, чтобы история команд сразу распределялась между всеми сессиями.
Скажем, у меня открыт эмулятор терминала с двумя вкладками, каждая с сеансом Zsh, А1 и А2. Если я введу ls -la в A1, а затем перейду к A2 и нажму клавишу со стрелкой вверх, я увижу ls -la в командной строке.
Я хотел бы изменить его, чтобы сеансы не делились историей команд друг с другом, хотя, когда вы начинаете новый сеанс, он получает всю предыдущую историю из всех сеансов до этого.
zsh
command-history
Изобразительное искусство
источник
источник
Ответы:
Вы, вероятно, получили
INC_APPEND_HISTORY
набор.INC_APPEND_HISTORY
Вариант, изman zshoptions
:Опция, которую вы хотите
APPEND_HISTORY
:Вы можете прочитать об этих опциях в
man zshoptions
,man zshall
или онлайн здесь .Чтобы установить их, в вашем
~/.zshrc
или аналогичном, вы должны иметь:Имейте в виду, что если вы используете oh-my-zsh по умолчанию, я думаю,
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
Чтобы добавить к принятому ответу, если вы используете
oh-my-zsh
, у вас, вероятно,SHARE_HISTORY
включена опция по умолчанию.Чтобы добиться разделения между запущенными оболочками + всей историей, объединенной во вновь открытом терминале, вы должны прокомментировать или удалить следующую строку:
от
~/.oh-my-zsh/lib/history.zsh
источник
~/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib/history.zsh
unsetopt share_history
ваш.zshrc
послеoh-my-zsh
загрузки. Документировано здесь .