Quel est le symbole de nouvelle ligne dans la PS1 de zsh?

34

J'essaie de configurer une ligne multiple PS1, pour zsh, mais \nn'a pas été analysée par zsh,

PS1="%~\n %> "

Comment dois-je le configurer?

Marguerite
la source

Réponses:

33

Utilisation $'\n'

Par exemple,

PROMPT="firstline"$'\n'"secondline "

ou

NEWLINE=$'\n'
PROMPT="firstline${NEWLINE}secondline "
n5c
la source
A fonctionné comme j'en avais besoin aussi.
Justin
1
l'utilisation de NEWLINE facilite grandement la modification de l'invite
cmcginty
Quelle est la différence entre la variable PS1 et PROMPT?
Didier A.
@DidierA. PROMPT et PROMPT2-4 sont respectivement des alias de PS1-4, sauf que les alias PROMPT "[n'existent] pas lorsque le shell s'initialise en mode d'émulation sh ou ksh".
Victor
28
PS1="firstline
secondline "

ou

PS1=$'Hi Joe,\nwhat now?%# '

Tiré de la FAQ , article 3.13

int
la source
1
Cela peut poser problème. Voir le lien. superuser.com/questions/382503/…
fx-kirin
1

Comme ça (je sais, ça a l'air maladroit):

PS1="%~
 %> "
Emanuel Berg
la source
-1

Je sais que c'est une vieille question, mais je la cherchais aussi. Si vous chargez prompinit ( autoload -Uz promptinit && promptinit), vous obtenez l'option gratuitement: $prompt_newlinequi est $'\n%{\r%}'.

Sur un système Debian, vous pouvez trouver le code source dans /usr/share/zsh/functions/Prompts/promptinitet / ou https://github.com/zsh-users/zsh/blob/master/Functions/Prompts/promptinit

waterkip
la source