iTerm2 (versão 3): Histórico individual por aba?

iTerm2 (versão 3): Histórico individual por aba?

Estou usando o iTerm2 (versão 3) e gosto. Mas algo que vem acontecendo há algum tempo e que é realmente irritante é que o histórico de comandos é compartilhado entre as guias. Por exemplo, na sua primeira aba, execute command fooe command bar, depois vá para a segunda aba e execute say Hello, e depois volte para a primeira aba; Eu gostaria e espero que a seta para cima sugira bare então foo, mas em vez disso ela irá sugerir say Hello.

Existe uma maneira de corrigir esse comportamento?

Responder1

Se você estiver usando zsh, anexe essas duas linhas ~/.zshrcapós a linhasource $ZSH/oh-my-zsh.sh

unsetopt inc_append_history
unsetopt share_history

De zshoptions(1) - página de manual do Linux:

INC_APPEND_HISTORY

Esta opção funciona como APPEND_HISTORY, exceto que novas linhas de histórico são adicionadas ao $HISTFILE de forma incremental (assim que são inseridas), em vez de esperar até que o shell saia.

SHARE_HISTORY

Esta opção importa novos comandos do arquivo de histórico e também faz com que os comandos digitados sejam anexados ao arquivo de histórico (o último é como especificar INC_APPEND_HISTORY).

O autor da postagem indicou que esta era a opção que ele procurava:

APLICATIVOEND_HISTORY

Se isto for definido, as sessões zsh anexarão sua lista de histórico ao arquivo de histórico, em vez de substituí-la. Assim, múltiplas sessões zsh paralelas terão todas as novas entradas de suas listas de histórico adicionadas ao arquivo de histórico, na ordem em que saem.

Responder2

Informações extras para a resposta perfeita de harrymc.

Este não é o Iterm2, mas um recurso do zsh que é ativado por padrão se você usaroh-meu-zsh

(ver:https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/history.zsh)

Então coloque-os no seu arquivo .zshrc depois source $ZSH/oh-my-zsh.sh(veja a resposta de harrymc)

unsetopt inc_append_history
unsetopt share_history

Responder3

Você pode definir sua variável de ambiente HISTFILE para algo único, mas o que eu faço é simplesmente desmarcá-la no meu arquivo .bashrcarquivo:

export HISTFILE=""

mas não me importo de manter meu histórico em um arquivo. Ao desarmar, a história fica apenas guardada na memória.

Responder4

Para Bashusuários, basta adicionar essas duas linhas ao seu~/.bashrc

shopt -s histappend
PROMPT_COMMAND="history -a;history -c;history -r;$PROMPT_COMMAND"

Certifique-se de abrir uma nova guia para que isso tenha efeito

informação relacionada