TL; DR
Todo lo que necesita hacer es poner esto en su ~/.zshrc
(o en el mismo archivo que su tema de solicitud):
ZLE_RPROMPT_INDENT=0
Detalles
En las versiones de ZSH que conducen a 5.0.2, un valor en el código fuente C de ZSH llamado rprompt_off
(que establece el desplazamiento del margen derecho) estaba codificado 1
.
Pero en la versión 5.0.5 los desarrolladores agregaron la capacidad de anular este valor predeterminado configurando la ZLE_RPROMPT_INDENT
variable de entorno.
La razón de este "guión" se debe a que algunos terminales más antiguos comenzarían a desplazarse si la última celda de la pantalla tuviera un carácter.
Para versiones de ZSH anteriores a 5.0.5
Si tiene una versión anterior de ZSH y no puede actualizar, aún puede deshacerse de ese espacio haciendo lo siguiente:
- Engañar ZSH en el pensamiento de su rprompt es un personaje más corto de lo que realmente está utilizando el estándar envoltorio secuencia invisible:
%{...%}
- Luego enviando una secuencia de escape de cursor hacia atrás usando terminfo:
%{terminfo[cub1]}
Consulte las preguntas frecuentes y este mensaje en la lista de correo para obtener más información.
Anthony Michael Cook
fuente
%git<Tab>
transforma en%ggit
He enviado un informe de error a los mantenedores de zsh, pero parece que este comportamiento es por diseño. Sin embargo, este problema me molestó tanto que decidí parchear y compilar zsh a mí mismo como una solución temporal. Si estás en OS X y usas Homebrew (deberías), entonces puedes instalar zsh incluyendo mi parche ejecutando:
es probable que desee añadir
/usr/local/bin/zsh
a/etc/shells
ychsh -s /usr/local/bin/zsh
después. Por último, aquí está la diferencia cruda para cualquiera que esté interesado:fuente
Creo que el espacio en blanco a la derecha está codificado. Pero puedes engañar
zsh
con la siguiente configuración:que en principio dice
zsh
que la estrella no ocupa caracteres; deman zshmisc
:El inconveniente es que "desplaza" el espacio en blanco al final de
PROMPT
:Los
|
símbolos denotan los bordes terminales, ■ el cursor.Otra idea sería aumentar
COLUMNS
en 1:Pero uno tiene que pensar en una forma de hacer esto solo para la representación rápida, pero no para los comandos. Y esto tragará el último carácter en cada línea en una línea de comando de varias líneas.
fuente