Cambiare la window di iTerm2 e i titoli delle tabs in zsh

Voglio etichettare le tabs delle windows delle sessioni terminali. Sto utilizzando lo zshell in iterm2 su OSX. È ansible cambiare dynamicmente l'etichetta di una scheda window nel terminal?

È ansible inserire quanto segue in zsh per impostare il titolo di window di iTerm2:

 echo -ne "\e]1;this is the title\a" 

Se si desidera automatizzare l'inserimento ad esempio l'ora corrente o la directory di lavoro, modificare i file di configuration zsh per impostare il titolo nella function precmd() ad esempio $PWD .

 echo -ne "\e]1;$PWD\a" 

È ansible leggere la function man zshmisc in man zshmisc nella sezione SPECIAL FUNCTIONS .

immettere qui la descrizione dell'immagine

Uno dei vantaggi di utilizzare iTerm è la possibilità di impostare titolo titolo e titolo tabulato separatamente: esempio di utilizzare separatamente la scheda e la finestra

 # $1 = type; 0 - both, 1 - tab, 2 - title # rest = text setTerminalText () { # echo works in bash & zsh local mode=$1 ; shift echo -ne "\033]$mode;[email protected]\007" } stt_both () { setTerminalText 0 [email protected]; } stt_tab () { setTerminalText 1 [email protected]; } stt_title () { setTerminalText 2 [email protected]; } 

In questo modo è ansible vedere immediatamente quale host è connesso in quale window e il titolo di window per each scheda mostra l'utente e la CWD.

Cosa funziona per me:

 echo -e "\033];this is the title\007" 

Se si utilizza Mac OSX e iTerm, iTerm2 ::

  • iTerm → Preferenze → Aspetto → Titoli di window e scheda → deseleziona tutti

Se si utilizza zsh, potrebbe essere necessario modificare le impostazioni. Le impostazioni sono generalmente nel file ~/.zshrc . Si desidera aggiungere o modificare le impostazioni per assicurarsi che questa linea esista:

 DISABLE_AUTO_TITLE="true" 

Un precmd il trucco. Tuttavia, alcuni themes oh-my-zsh si confondono con il titolo della window. Impostare PR_TITLEBAR su una string vuota per risolvere il problema.

 set-window-title() { # /Users/clessg/projects/dotfiles -> ~/p/dotfiles window_title="\e]0;${${PWD/#"$HOME"/~}/projects/p}\a" echo -ne "$window_title" } PR_TITLEBAR='' set-window-title add-zsh-hook precmd set-window-title 

Vorrei anche raccomandare di giocare con le impostazioni della scheda di iTerm2 in Preferenze -> Aspetto.

Aggiunta di export PROMPT_COMMAND='echo -ne "\033]0;$PWD\007"' in ~/.bash_profile funzionato per me.

https://apple.stackexchange.com/a/90737/49605

iTerm -> Preferenze -> Aspetto -> Titoli window e tab -> controlla Mostra opzione nome profilo