Réponses:
Vous pouvez entrer ce qui suit zsh
pour définir le titre de la fenêtre de iTerm2:
echo -ne "\e]1;this is the title\a"
Si vous voulez automatiser cela pour insérer, par exemple, l'heure actuelle ou le répertoire de travail, éditez vos zsh
fichiers de configuration pour définir le titre de la precmd()
fonction sur, par exemple $PWD
.
echo -ne "\e]1;$PWD\a"
Vous pouvez lire sur la precmd
fonction man zshmisc
dans la section SPECIAL FUNCTIONS
.
Profiles > Terminal > Terminal Emulation > Terminal may set tab/window title
.
iTerm2
(3.2.9)
Ce qui fonctionne pour moi:
echo -e "\033];this is the title\007"
Si vous utilisez Mac OSX et iTerm, iTerm2 ::
Si vous utilisez zsh, vous devrez peut-être modifier vos paramètres. Vos paramètres sont généralement dans le fichier ~/.zshrc
. Vous souhaitez ajouter ou modifier vos paramètres pour vous assurer que cette ligne existe:
DISABLE_AUTO_TITLE="true"
ITerm offre l’un des avantages de la possibilité de définir séparément le titre de la fenêtre et le titre de l’onglet:
# $1 = type; 0 - both, 1 - tab, 2 - title
# rest = text
setTerminalText () {
# echo works in bash & zsh
local mode=$1 ; shift
echo -ne "\033]$mode;$@\007"
}
stt_both () { setTerminalText 0 $@; }
stt_tab () { setTerminalText 1 $@; }
stt_title () { setTerminalText 2 $@; }
De cette façon, vous pouvez voir immédiatement à quel hôte vous êtes connecté dans quelle fenêtre, et le titre de la fenêtre pour chaque onglet indique l'utilisateur et CWD.
.bashrc
, non?
DISABLE_AUTO_TITLE="true"
qui corrigeait le problème. Ainsi, si je ne définis pas le titre, la fonctionnalité de titre automatique
A precmd
fait le tour. Cependant, certains thèmes oh-my-zsh dérangent le titre de la fenêtre. Définissez PR_TITLEBAR
une chaîne vide pour résoudre le problème.
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
Je recommanderais également de jouer avec les paramètres d'onglet de iTerm2 dans Préférences -> Apparence.
Aucune des réponses ne semblait fonctionner pour moi, probablement pour la version iterm2 (3.3.3).
J'ai découvert ceci: https://gist.github.com/phette23/5270658#gistcomment-3020766
Essentiellement, vous pouvez faire tout ce qui est dit dans toutes les autres réponses, mais vous devez aussi définir
Preferences > Profiles > General > Title -> Name (Job)
Cela a fonctionné pour moi.
General
onglet, c'est sous l' Profiles
onglet
> Profiles
là. Ma faute. Mis à jour.
La réponse acceptée a fonctionné pour moi pendant longtemps, mais est maintenant cassée dans la dernière version d'iTerm2. Une solution de contournement que j'ai trouvée consistait à activer l'API Python et à créer un script qui définit le nom de l'onglet comme suit:
#!/usr/bin/env python3.7
import argparse
import iterm2
def get_args():
parser = argparse.ArgumentParser(description='Set the tab name')
parser.add_argument('name')
return parser.parse_args()
ARGS = get_args()
async def main(connection):
app = await iterm2.async_get_app(connection)
window = app.current_terminal_window
if window is not None:
tab = window.current_tab
await tab.async_set_title(ARGS.name)
else:
# You can view this message in the script console.
print("No current window")
iterm2.run_until_complete(main)
Enregistré sous "nom_table.py", puis appelé avec:
~/Library/ApplicationSupport/iTerm2/iterm2env/versions/*/bin/python3 ~/Library/ApplicationSupport/iTerm2/Scripts/tab_name.py "new tab name"
Ce n'est pas aussi beau ni aussi élégant que la réponse acceptée, mais ça marche.
iTerm -> Préférences -> Apparence -> Titres de fenêtre et d'onglet -> Cochez l'option Afficher le nom du profil