You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Fish Shell始终从用户主目录(~)启动而非上次路径?

解决Fish Shell新标签页继承上次路径的问题

步骤1:检查终端模拟器设置

绝大多数终端模拟器(如iTerm2、GNOME Terminal、Konsole等)都自带控制新标签页启动路径的选项。打开终端的设置面板,找到“新标签页启动位置”相关设置,确保选择“用户主目录”或“~”,而非“继承当前窗口路径”。

步骤2:修改Fish配置强制切换到主目录

如果终端设置无异常,直接在Fish主配置文件中添加强制切换目录的命令:

  1. 打开配置文件:
    nano ~/.config/fish/config.fish
    
  2. 在文件开头或合适位置添加一行:
    cd ~
    
  3. 保存退出后,重启终端验证效果。

步骤3:排查dotfiles中的路径恢复逻辑

由于你使用的是自定义dotfiles,可能存在保存并恢复上次会话路径的脚本:

  • 检查~/.config/fish/conf.d/目录下的所有脚本,寻找是否有类似保存$PWD到文件、启动时读取并cd过去的代码,比如:
    # 示例:可能存在的路径恢复代码
    if test -f ~/.last_dir
        cd (cat ~/.last_dir)
    end
    
  • 找到后注释或删除这部分代码,重启终端即可。

步骤4:清除Fish的通用路径变量

Fish的fish_last_pwd通用变量可能会影响启动路径,执行以下命令删除该变量:

set -e fish_last_pwd

之后重启终端,新标签页应该会默认从主目录启动。

内容的提问来源于stack exchange,提问作者Kevin Renskers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:53:13