【问题标题】:Restore integrated terminal session with last Working Directory on Git Bash使用 Git Bash 上的最后一个工作目录恢复集成终端会话
【发布时间】:2022-11-11 19:06:56
【问题描述】:

通常当我们退出终端并重新打开它时,它会恢复我们的终端和选项卡,这是一个很好的功能,但它也可以恢复我们最后的 cwd 吗?我认为它应该,但我不能让它在我的终端上工作。

会话不保存我的最后一个工作目录

它说session contents restored

之前的目录是.../shop/shop-next,但恢复后它只是.../shop

我希望它在恢复后和以前一样(.../shop/shop-next

相关设置是:

关于设置“持久会话恢复过程”,它说它应该恢复CWD取决于它是否被终端支持

我不知道 git bash 是否支持此功能,所以这是我的问题:

  1. 有没有办法完成它?(不使用扩大)
  2. 哪些终端/配置文件/bash 支持此功能。

【问题讨论】:

    标签: visual-studio-code terminal git-bash


    【解决方案1】:

    (对不起,这可能不适合你,因为你使用标签,但可能会给你带来一些改进的想法。)

    如果我们谈论的是适用于 Windows 的 Git Bash(或任何类似于 MINGW64),我在 .bashrc 文件中使用了以下代码:

    # == Use changed/default directory on load ==
    # and remember changed directory
    
    DEFAULT_DIR=~
    cd() { builtin cd ${@} && keep_last_dir; }
    keep_last_dir() { pwd > ~/.bashrc.last_dir; }
    
    if [ -z "${BASHRC_INIT}" ]; then
        export BASHRC_INIT=1
        readonly BASHRC_INIT
    
        change_dir=${DEFAULT_DIR}
        if [[ ${HOME} != $(pwd) ]] && [[ -f ~/.bashrc.last_dir ]]; then
          change_dir=$(cat ~/.bashrc.last_dir)
        fi
        # go to default directory
        [ -d ${change_dir} ] && cd ${change_dir}
    fi
    # == == == == == == == == == == == == == == ==
    

    您可以更改此行:DEFAULT_DIR=~

    在第一次打开时,它总是会将您返回到最后一个目录位置。

    【讨论】:

      猜你喜欢
      • 2022-12-09
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-13
      • 1970-01-01
      相关资源
      最近更新 更多