2012-02-09 2 views
5

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

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

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

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

ответ

6

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

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

zle reset-prompt является бит, который получает его перерисовывать строку.

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

+0

Спасибо за ответ, он даже сохраняет то, что в настоящее время написано на строке подсказки! 'Printf '\ n'' приветствуется, потому что, когда я меняю каталог, у меня напечатан новый pwd. – lolesque

Смежные вопросы