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 foo
e 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 bar
e 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 ~/.zshrc
apó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 Bash
usuá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