Recientemente cambié a iTerm2 desde la aplicación Terminal predeterminada y tengo un problema de usabilidad.
En Terminal, el directorio de trabajo en el que se encuentra aparece en la barra de título junto con el proceso y el tamaño de píxel. Por ejemplo, cuando hace clic en Ventana para cambiar entre diferentes sesiones de Terminal, verá: directorio_de_trabajo - proceso - tamaño_de_píxel.
En iTerm2, lamentablemente solo se muestra el proceso en la barra de título. Entonces, si estoy trabajando en varias ventanas de iTerm2 en diferentes directorios, no puedo diferenciar fácilmente cuál es cuál cuando hago clic en Ventana para elegir una. Sé que puedo cambiar fácilmente entre las ventanas de iTerm2 una vez que seleccione una, pero me gustaría identificar exactamente qué ventana quiero de inmediato. (Por cierto, uso Witch, y Command-tabbing tampoco ayuda porque aquí nuevamente solo aparece el proceso en la lista).
¿Alguna sugerencia? Revisé todas las preferencias y no vi nada. Crear perfiles no es exactamente lo que busco; solo me gustaría ver el directorio de trabajo actual en los títulos de las ventanas de iTerm2.
Con la \033]0;TEXT\007
secuencia de escape.
Ejemplo de uso en Bash:echo -ne "\033]0;$PWD\007"
Que podría agregar a su $PROMPT_COMMAND
si usa Bash, o adjuntarlo de otra manera para PS1
que se vuelva a evaluar con frecuencia.
Ejemplo:export PROMPT_COMMAND='echo -ne "\033]0;$PWD\007"'
Si está utilizando zsh (que es el predeterminado en macOS 10.15+), coloque esto en su ~/.zshrc en su lugar:
if [ $ITERM_SESSION_ID ]; then
precmd() {
echo -ne "\033]0;${PWD##*/}\007"
}
fi
También puede escribir \033
como \e
y \007
como \a
.
Posiblemente, una respuesta más simple es usar la funcionalidad de interpolación de cadenas que ofrece iTerm 2. Proporcionar:
\(currentTab.currentSession.path)
en la configuración daría como resultado un título de ventana cambiado. La opción es accesible a través dePreferences>>Profiles>>[Profile we need to modify]>>Window
\(current.Session.path)
\(currentSession.path)
Me gusta esta respuesta de esta esencia para agregarla al título de la pestaña
# put this in your .bash_profile
if [ $ITERM_SESSION_ID ]; then
export PROMPT_COMMAND='echo -ne "\033];${PWD##*/}\007"; ':"$PROMPT_COMMAND";
fi
Puede establecer con relativa facilidad el título de la pestaña en iTerm2 en macOS en el directorio de trabajo actual colocando lo siguiente en su ~/.zshrc
perfil:
# Set iTerm Tab Title to Current Working Directory
DISABLE_AUTO_TITLE="true"
iterm_tab_title() {
echo -ne "\e]0;${PWD##*/}\a"
}
add-zsh-hook precmd iterm_tab_title
Utiliza una función de enlace precmd para ejecutar antes de cada solicitud, configurando el título de la pestaña haciendo eco del directorio de trabajo actual.
En buena medida, algunos temas de Oh My Zsh se meten con el título de la ventana de Terminal, por lo que la configuración DISABLE_AUTO_TITLE="true"
soluciona esto. †
No tengo suficiente karma para comentar, pero si quieres que se muestre ~/dir
en lugar de /users/username/dir
puedes usar
if [ $ITERM_SESSION_ID ]; then
precmd() {
echo -ne "\033]0;$(dirs)\007"
}
fi
en cambio.
spencer
quejumbroso
anentrópico
echo -ne "\033]0;${PWD##*/}\007"
(gracias a github.com/barryclark/bashstrap por mostrar el camino)Página de Chris
~/.bashrc
será ejecutado por cada shell interactivo, por lo que no necesitan heredar las variables establecidas por este script.recatado
felixfbecker
Write-Host "`e]0;$PWD`a" -NoNewLine
capoko
chris nielsen
recatado