2 votes

Comment créer une barre d'état bash/zsh sur macOS

J'aimerais avoir toutes les informations sur l'environnement de travail : branche git, nom de la virtualenv, dossier courant sur la première ligne de la fenêtre du terminal, toujours. Dans mon idée, cela devrait ressembler à quelque chose comme ça :

[git branch](virtualenv)user@host:<pwd> # this part shouldn't move
...
here is standard terminal output
$ # last line for writing commands

Est-ce possible ? Si oui, comment puis-je y parvenir ?

1voto

Marlon Richert Points 1441

Pour zsh Il suffit d'ajouter ceci à votre .zshrc fichier :

zmodload zsh/terminfo
autoload -Uz add-zsh-hook
statusbar () {
  echoti sc                   # Save cursor position.
  echoti home                 # Move cursor to top left of window.

  # -n: Don't append a newline.
  # -P: Expand prompt escape codes.
  print -nP -- "[$( git branch --show-current 2> /dev/null )]($VIRTUAL_ENV)%n@%M:%~"

  echoti el                   # Clear to end of line
  echoti rc                   # Restore cursor position.
}
add-zsh-hook precmd statusbar # Call before each new prompt.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X