恢复Zsh终端(OS X Lion)

西蒙·佩雷佩里察(Simon Perepelitsa)

OS X Lion具有“恢复”功能,即,当您重新打开应用程序时,它将恢复所有窗口及其内容。这同样适用于Terminal。但是,如果您使用Zsh而不是Bash,则它不会还原打开的目录。我怎样才能解决这个问题?

上尉

更新:由于注释中提到的原因,这并不完全正确。使用下面的答案感谢@ChrisPage付出了更多努力:)

答案可以通过反向工程找到bash如何在其中进行/etc/bashrc我从网上尝试了许多方法,但苹果公司的方法似乎效果最好(见图)。

在您.zshrc添加以下内容

# Set Apple Terminal.app resume directory
if [[ $TERM_PROGRAM == "Apple_Terminal" ]] && [[ -z "$INSIDE_EMACS" ]] {
  function chpwd {
    local SEARCH=' '
    local REPLACE='%20'
    local PWD_URL="file://$HOSTNAME${PWD//$SEARCH/$REPLACE}"
    printf '\e]7;%s\a' "$PWD_URL"
  }

  chpwd
}

祝您恢复愉快。

为了澄清起见,此答案与OS X Lion的Terminal.app首选项中的神秘消息有关:

**程序使用转义序列将当前工作目录通知终端。您可能需要配置外壳程序或其他程序才能启用此行为。*

当您将zsh用作shell时,此答案有效。苹果已经实施了bash的终端恢复。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章