Что за символ новой строки в PS1 Zsh?

34

Я пытаюсь настроить многострочный PS1 для Zsh, но \nне был проанализирован Zsh,

PS1="%~\n %> "

Как мне это настроить?

маргаритка
источник

Ответы:

33

использование $'\n'

Например,

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

или

NEWLINE=$'\n'
PROMPT="firstline${NEWLINE}secondline "
n5c
источник
Работал так, как мне это тоже нужно.
Джастин
1
использование NEWLINE значительно облегчает редактирование приглашения
cmcginty
В чем разница между PS1 и переменной PROMPT?
Дидье А.
@DidierA. PROMPT и PROMPT2-4 являются псевдонимами PS1-4 соответственно, за исключением того, что псевдонимы PROMPT «[не] не существуют, когда оболочка инициализируется в режиме эмуляции sh или ksh».
Виктор
1

Вот так (знаю, выглядит неловко):

PS1="%~
 %> "
Эмануэль Берг
источник
-1

Я знаю, что это старый вопрос, но я тоже его искал. При загрузке prompinit ( autoload -Uz promptinit && promptinit) вы получаете возможность бесплатно: $prompt_newlineкоторое $'\n%{\r%}'.

В системе Debian вы можете найти исходный код в /usr/share/zsh/functions/Prompts/promptinitи / или https://github.com/zsh-users/zsh/blob/master/Functions/Prompts/promptinit.

waterkip
источник