Respuestas:
Puede ingresar lo siguiente zsh
para configurar el título de la ventana de iTerm2:
echo -ne "\e]1;this is the title\a"
Si desea automatizar eso para insertar, por ejemplo, la hora actual o el directorio de trabajo, edite sus zsh
archivos de configuración para configurar el título en la precmd()
función, por ejemplo $PWD
.
echo -ne "\e]1;$PWD\a"
Puede leer sobre la precmd
función man zshmisc
en la sección SPECIAL FUNCTIONS
.
Profiles > Terminal > Terminal Emulation > Terminal may set tab/window title
.
iTerm2
(3.2.9)
Lo que funciona para mi:
echo -e "\033];this is the title\007"
Si usa Mac OSX e iTerm, iTerm2 ::
Si usa zsh, es posible que deba editar su configuración. Su configuración suele estar en el archivo ~/.zshrc
. Desea agregar o editar su configuración para asegurarse de que esta línea existe:
DISABLE_AUTO_TITLE="true"
Una de las comodidades de usar iTerm es la posibilidad de configurar el título de la ventana y el título de la pestaña por separado:
# $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 esta manera, puede ver de inmediato a qué host está conectado en qué ventana, y el título de la ventana para cada pestaña muestra usuario y CWD.
.bashrc
, ¿verdad?
DISABLE_AUTO_TITLE="true"
que solucionó el problema y de esta manera si no configuro el título, todavía obtengo la función de título automático
A precmd
hace el truco. Sin embargo, algunos temas de oh-my-zsh juegan con el título de la ventana. Establecer PR_TITLEBAR
en una cadena vacía para arreglarlo.
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
También recomendaría jugar con la configuración de pestañas de iTerm2 en Preferencias -> Apariencia.
Agregar export PROMPT_COMMAND='echo -ne "\033]0;$PWD\007"'
a ~/.bash_profile
trabajado para mí.
Ninguna de las respuestas parecía funcionar para mí, probablemente para la versión iterm2 (3.3.3).
Descubrí esto: https://gist.github.com/phette23/5270658#gistcomment-3020766
Esencialmente, puede hacer lo que se diga en todas las demás respuestas, pero también debe establecer
Preferences > Profiles > General > Title -> Name (Job)
Esto funcionó para mí.
General
pestaña, está debajo de la Profiles
pestaña
> Profiles
uno. Culpa mía. Actualizado.
La respuesta aceptada me ha funcionado durante mucho tiempo, pero ahora está rota en la última versión de iTerm2. Una solución que encontré fue habilitar la API de Python y crear un script que establezca el nombre de la pestaña de esta manera:
#!/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)
Guardado como "tab_name.py", luego invocado con:
~/Library/ApplicationSupport/iTerm2/iterm2env/versions/*/bin/python3 ~/Library/ApplicationSupport/iTerm2/Scripts/tab_name.py "new tab name"
No es tan agradable o elegante como la respuesta aceptada, pero funciona.
iTerm -> Preferencias -> Apariencia -> Títulos de ventanas y pestañas -> marque la opción Mostrar nombre de perfil