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

Tmux创建窗口时输入名称并调用z命令跳转匹配目录的实现方案

实现方案

该需求可以完全实现。

原有配置

你当前的tmux.conf配置实现了新建窗口前提示输入名称、新窗口默认继承当前窗格路径的效果,配置如下:

# Name windows before you create them
bind-key c command-prompt -p "window name:" "new-window -c '#{pane_current_path}'; rename-window '%%'"

调整后配置

替换为以下配置即可满足需求:

bind-key c command-prompt -p "window name:" "new-window -c '#{pane_current_path}' 'zsh -ic \"target_path=\\$(z -e %1 2>/dev/null && pwd || echo '#{pane_current_path}'); cd \\\"\\$target_path\\\"; exec zsh\"'; rename-window '%1'"

配置逻辑说明

  • 首先保留-c '#{pane_current_path}'作为路径兜底,z匹配失败时默认进入当前窗格路径
  • 新窗口启动时通过zsh -ic进入交互zsh环境,确保能加载到.zshrc中定义的z跳转函数(z是shell函数而非独立二进制文件,非交互模式下无法直接调用)
  • z -e %1是z工具自带的参数:仅匹配目录不执行跳转,匹配失败时返回非零退出码
  • 匹配成功时通过pwd获取z匹配到的目标目录,匹配失败则直接使用兜底的当前窗格路径
  • 最后通过exec zsh启动正常交互shell,避免多嵌套一层zsh进程

适配说明

如果你使用的是zoxide(主流的z现代替代实现),只需要把配置里的z -e %1替换为zoxide query %1即可,其余逻辑不用改动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 16:24:30