zsh новая строка после каждой команды
могу ли я настроить приглашение, чтобы показать новую строку после каждой команды?
приведу пример. На следующем скриншоте я запустил cat .zshrc
. Я хочу иметь новую строку между последней строки вывода команды, . ~/.zsh_aliases
и ~ $
.
4 ответов
редактировать ~/.zshrc
и добавить строку precmd() { print "" }
. Это просто напечатает пустую строку перед отображением приглашения.
Я знаю, что это немного старо, но я нашел способ, даже если он не очень чистый, я просто хотел поделиться им:
function precmd {
if [[ "$NEW_LINE" = true ]] then
if [[ "${ADD_NEW_LINE}" = true ]] then
PROMPT=$'\n'"${PROMPT}"
ADD_NEW_LINE=false
fi
else
PROMPT="${PROMPT}"
NEW_LINE=true
ADD_NEW_LINE=true
fi
}
надеюсь, что это помогает
другой способ-просто установить пользовательскую подсказку в ~/.zshrc
Это включает символ новой строки. Например:
autoload -Uz promptinit
promptinit
PROMPT="
%n@%m:%~ $ "
принятый ответ (автор @abid-h-mujtaba) всегда печатает новую строку, даже при первой загрузке оболочки. Я отправил редактирование, которое по какой-то причине не было принято.
это то, что я использую в своей личные dotfiles (см. "конфигурация" окно в zshrc
):
function precmd() {
# Print a newline before the prompt, unless it's the
# first prompt in the process.
if [ -z "$NEW_LINE_BEFORE_PROMPT" ]; then
NEW_LINE_BEFORE_PROMPT=1
elif [ "$NEW_LINE_BEFORE_PROMPT" -eq 1 ]; then
echo "\n"
fi
}