
Creo que tuve un error comoesta pregunta. Mi mensaje es
PROMPT=$'\n%F{cyan}================================%f\n[%*] [%F{yellow}%?%f]\n[%F{cyan}%n@%m%f]\n[%F{green}%~%f]'
Por ejemplo, ejecuté:
================================
[2022-08-23 14:02:43] [0]
[jyxjjj@DESMG-MacBookPro]
[~]$ php media app:build
Cuando presiono la flecha hacia arriba del teclado, luego presiono la flecha hacia abajo, se mostrará:
================================
[2022-08-23 14:02:43] [0]
[jyxjjj@DESMG-MacBookPro]
[~]$ php media app:buphp media app:build
Estoy seguro de que no di una muestra de error. Simplemente se muestra como
php media app:buphp media app:build
y se ejecuta correctamente como:
php media app:build
también.
Eso significa que todo lo que vi, ejecuta el comando correcto.
Entonces es solo un error de visualización.
Luego probé todas las formas, solo eliminar la exportación PS1/PROMPT solucionará este error.
Entonces creo que mi PS1 causó este error.
¿Como arreglarlo?
No entendí la respuesta deesta pregunta.
Entonces quiero preguntar de nuevo.
Lo siento mucho.
Adicional:
alguna parte de mi zshrc:
autoload -U colors && colors
setopt histignoredups
setopt histignorealldups
setopt appendhistory
setopt sharehistory
setopt promptsubst
Entonces:
$ echo $PS1
%F{cyan}================================%f
[%*] [%F{yellow}%?%f]
[%F{cyan}%n@%m%f]
[%F{green}%~%f]$(__git_ps1)$
$ echo $PROMPT
%F{cyan}================================%f
[%*] [%F{yellow}%?%f]
[%F{cyan}%n@%m%f]
[%F{green}%~%f]$(__git_ps1)$
$ echo $PROMPT_COMMAND
(nothing)
$ which PROMPT_COMMAND
PROMPT_COMMAND not found
$ which prompt_command
prompt_command not found
probé
PROMPT=$'\[\n\]\[%F{cyan}\]================================\[%f\n\][\[%*\]] [\[%F{yellow}\]%?\[%f\]]\n[\[%F{cyan}\]%n@%m\[%f\]]\n[\[%F{green}\]%~\[%f\]]'
e imprimió el [
y]
probé
PS1='\n\[\e[36m\]================================\[\e[0m\]\n[\t] [\[\e[36m\]\u@\h\[\e[0m\]]\n[\[\e[32m\]\w\[\e[0m\]]'
en bash y funciona.
Respuesta1
Encontré la respuesta por mi cuenta:
Del manual de zsh, Expansión de mensajes, Escapes de mensajes simples,sección 13.2.5 - Efectos visuales.
%{...%}
Incluya una cadena como secuencia de escape literal. La cadena entre llaves no debe cambiar la posición del cursor. […]
A mi código le faltaban estos %{
y %}
. Parecen ser las contrapartes de zsh de\[
y \]
en fiesta.