2012-02-09 42 views
5

使用zsh,我想添加一個快捷方式去父目錄。 易peasy做如何重新繪製widget動作後的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顯然有許多關於多行提示的問題,所以我放棄了它。

+0

感謝您的回答,它甚至保留了當前寫在提示行上的內容! 'printf'\ n'是受歡迎的,因爲當我更改目錄時,我已打印新的密碼。 – lolesque 2012-04-25 09:28:54