Qual é o símbolo da nova linha no PS1 da zsh?

34

Estou tentando configurar uma PS1 de várias linhas, para zsh, mas \nnão foi analisada pelo zsh,

PS1="%~\n %> "

Como devo configurá-lo?

margarida
fonte

Respostas:

32

Usar $'\n'

Por exemplo,

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

ou

NEWLINE=$'\n'
PROMPT="firstline${NEWLINE}secondline "
n5c
fonte
Funcionou como eu também precisava.
Justin
11
usar NEWLINE facilita muito a edição do prompt
cmcginty
Qual é a diferença entre a variável PS1 e PROMPT?
Didier A.
@DidierA. PROMPT e PROMPT2-4 são aliases de PS1-4, respectivamente, exceto que os aliases PROMPT "[não] existem quando o shell é inicializado no modo de emulação sh ou ksh".
213 Victor Victor
28
PS1="firstline
secondline "

ou

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

Retirado do FAQ , item 3.13

int
fonte
11
Isso pode causar problemas. Veja o link. superuser.com/questions/382503/…
fx-kirin
1

Assim (eu sei, parece estranho):

PS1="%~
 %> "
Emanuel Berg
fonte
-1

Eu sei que essa é uma pergunta antiga, mas eu estava procurando por isso também. Se você carregar o prompinit ( autoload -Uz promptinit && promptinit), terá a opção de graça: $prompt_newlinequal é $'\n%{\r%}'.

Em um sistema Debian, você pode encontrar o código fonte em /usr/share/zsh/functions/Prompts/promptinite / ou https://github.com/zsh-users/zsh/blob/master/Functions/Prompts/promptinit

waterkip
fonte