как перерисовать приглашение zsh после действия виджета - PullRequest
5 голосов
/ 09 февраля 2012

Используя zsh, я хотел бы добавить ярлык для перехода в родительский каталог.Легко и просто сделать это

cdup() {
  builtin cd ..
}
zle -N cdup
bindkey "your_favorite_key_code" cdup

Но это не перерисовывает подсказку, кто-нибудь знает, как это сделать?

Связывание ярлыков для выполнения pushd / popd тоже может быть идеейЧестно говоря, я получил эти идеи от "рыбья ракушка".

1 Ответ

8 голосов
/ 21 апреля 2012

Я недавно реализовал ту же самую вещь.Лучшее решение, которое я могу предложить, это следующее

cdup() {
  cd ..
  zle reset-prompt
}

zle reset-prompt - это бит, который заставляет его перерисовывать приглашение.

Редактировать :
Моя предыдущая версия ответа содержала printf '\n' в ответе.Это было необходимо, если приглашение было многострочным.Однако у zsh, по-видимому, масса проблем с многострочными запросами, поэтому я его отбросил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...