Tabby 配置终端SFTP自动识别当前目录

109 阅读1分钟

在使用 远程 ShellWSL,以及 GNU Screen / tmux 等多路复用工具时,主机终端通常无法可靠获取 Shell 的当前工作目录。这会导致诸如“复制当前路径”、基于当前目录打开文件管理器或 SFTP 面板等功能失效或不准确。

Tabby 通过支持 OSC 1337 协议(最初由 iTerm 提出),允许 Shell 主动向终端报告其实时工作目录,从而解决这一问题。

启用该协议后,可实现以下功能:

  • “复制当前路径” 的上下文菜单 / 标签页菜单功能可正常使用
  • SFTP 面板 可直接在 Shell 当前目录下打开
  • WinSCP 等工具实现类似的目录感知体验

要启用此功能,只需将指定配置添加到远程 Shell 的配置文件中(如 .bashrc.zshrc),并重启 Shell 或重新登录即可生效。

一、Bash:

编辑 bash_profile: vim ~/.bash_profile

末尾追加如下内容: export PS1="$PS1\[\e]1337;CurrentDir="'$(pwd)\a\]'

立即生效: source ~/.bash_profile

二、ZSH:

编辑 zshrc: precmd () { echo -n "\x1b]1337;CurrentDir=$(pwd)\x07" }

三、Fish

编辑 config.fish: function __tabby_working_directory_reporting --on-event fish_prompt echo -en "\e]1337;CurrentDir=$PWD\x7" end