Як поділитися історією між термінальними вкладками?


23

Як правило, я використовую дві або три вкладки в своєму терміналі в OS X.

Невелика незручність полягає в тому, що за замовчуванням вкладки не діляться історією команд. Отже, пошук попередньої команди, яку я запустив на іншій вкладці, набравши history | grep thingIamlooking for, не знаходить її.

Чи є спосіб змусити вкладки терміналів ділитися історією чи є якась інша команда " history_of_all_tabs "?

Відповіді:


29

Я не думаю, що існує спосіб поділитися історією лише серед вкладок терміналів, але ось щось, що може вам допомогти.

Історія - це не те, чим керується ваш термінал, а ваша оболонка (bash, tcsh, zsh тощо)

Ось кілька варіантів, які допоможуть вам налаштувати спільну історію серед усіх вікон терміналів (екземпляри оболонки).

Це слід помістити десь у вашому .bashrcфайлі.

export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
export HISTSIZE=100000                   # big big history
export HISTFILESIZE=100000               # big big history
shopt -s histappend                      # append to history, don't overwrite it

# Save and reload the history after each command finishes
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

1
+ 5 за гарну відповідь, + 5 за хорошу граматику;)
Метт

@ Рішення Lifely не працює для мене в El Capitan. Зовсім. Навіть максимальна довжина файлу історії. Чи є нове рішення з 2012 року? (Я б прокоментував вище, але у мене немає відповіді)
JP Duffy

1
Це працює для мене (додано в .bash_profile) в Ель Капітана з додаванням експорту SHELL_SESSION_HISTORY = 0 в моєму .bash_profile і працює: сенсорний ~ / .bash_sessions_disable
Енді

відмінно працює на Ubuntu 18.04 для bash
anon58192932
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.