web-dev-qa-db-fra.com

Comment partagez-vous l'historique entre les terminaux dans zsh?

Comment peut-on y parvenir pour que chaque commande entrée soit visible dans l'historique de chaque terminal ouvert?

Lorsque plusieurs terminaux sont ouverts, l’historique n’est pas partagé, c’est-à-dire que ce que vous avez entré dans l’historique d’un terminal ne s’affiche pas dans un autre. Pensez à une alternative au Prompt_COMMAND="history -a" de Bash (qui enregistre l'historique avant que l'invite ne soit affichée).

29
MJB

Les options suivantes seraient applicables:

  • Pour sauvegarder chaque commande avant qu'elle ne soit exécutée (ceci est différent de l'historique de bash - une solution):

    setopt inc_append_history
    
  • Pour lire le fichier d'historique à chaque fois que l'historique est appelé, ainsi que les fonctionnalités de inc_append_history:

    setopt share_history
    

Ceux-ci peuvent être définis dans votre fichier .zshrc.

Connexes pour bash:

36
MJB

Si vous utilisez l’impressionnant OhMyZSH de Robby Russell, il s’occupera de cela, et plus encore.

Voir https://github.com/robbyrussell/oh-my-zsh/blob/master/lib/history.zsh

Cela inclut setopt inc_append_history.

4
james_womack