Как перенести мою текущую историю bash при открытии сеанса tmux?

Как перенести мою текущую историю bash при открытии сеанса tmux?

Я часто оказываюсь в такой ситуации:

  • Я начинаю что-то делать в терминале.
  • Мне нужно больше места на терминале, поэтому я открываю tmux.
  • История исчезла, даже команды, которые я хотел запустить внутри tmux.

Как мне перенести текущую историю bash в новый сеанс tmux? В идеале что-то, что я могу добавить в конфигурацию tmux, а в противном случае что-то, что я могу поместить в псевдоним, например tmuxhist.

решение1

Вставьте это в свой ~/.bashrc:

export PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
shopt -s histappend

Это решение не относится только к tmux, оно также будет работать с GNU screen или tabbed-терминалами или просто открытием новых окон xterm. По сути, оно говорит: «добавить к истории при каждой команде и убедиться, что bash не очищает файл истории при выходе».

Это также означает, что вы можете открыть новую панель в tmux и нажать ctrl+p, чтобы выполнить последнюю команду, выполненную на предыдущей панели.

решение2

history -w; tmuxв какой-то степени это срабатывает.

alias tmuxhist='history -w; tmux'создает для него псевдоним.

К сожалению, этоневозможнодля добавления команд, которые будут выполняться при запуске, в конфигурацию tmux.

Связанный контент