2

Я пытаюсь настроить zsh так, чтобы он разделял историю команд между различными сессиями zsh :

  • в нескольких вкладках
  • в нескольких гном-терминалах
  • в разных сеансах screen

Я положил это в .zshrc

#To save every command before it is executed (this is different from bash's history -a solution):
setopt inc_append_history

#To retrieve the history file everytime history is called upon.
setopt share_history

но это не работает.

например, я набираю 1 команду: gedit afile а затем я иду и zsh и введите history . Я не вижу gedit afile .

вывод 'setopt' является

 % setopt
nohistbeep
histexpiredupsfirst
histfindnodups
histignorealldups
histignoredups
histignorespace
histnostore
histreduceblanks
histsavenodups
histverify
incappendhistory
interactive
monitor
promptsubst
sharehistory
shinstdin
zle

Как мне этого добиться?

2 ответа2

5

попробуйте поискать после нажатия enter .


то, что я проверял, было:

  • открыть 2 зш снарядов
  • зайди в zsh shell 1 и выполни echo "something"
  • перейдите в zsh shell 2, нажмите enter , затем проверьте, видите ли вы команду из shell 1.

в моем случае я не увижу команду, пока не нажму enter .

2

Простой ответ на ваш вопрос:вам нужно установить share_history, вы делаете это с помощью:

setopt share_history

Поскольку вы, очевидно, уже сделали это (и этот вариант действительно работает). Я предлагаю вам проверить:

  • есть ли в обеих оболочках опция;
  • не набираете ли вы команды с начальным пробелом (так как histignorespace делает их игнорируемыми)
  • У вас есть $HISTFILE установленный на одно и то же значение во всех оболочках?
  • действительно ли вы сохраняете какую-либо историю? Скажем, если вы выдадите echo 123 в tab-1. Перейдите на вкладку 2, history звонков. Это там? (согласно вашей проблеме, нет). Теперь выдайте команду fc -R (означает перечитать файл истории), а затем history Если нет, вы также можете вызвать fc -A (-A принудительно добавит вашу историю в файл) в tab-1, чтобы убедиться, что история записывается в файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .