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

调整终端大小后fish shell多提示符问题及tmux分屏适配诉求

解决fish shell调整终端大小后提示符重复及tmux分屏异常问题

问题梳理

  • 环境:fish shell + tide提示符工具,字体采用Color和Source Code Pro(含符号)
  • 核心现象:终端初始显示正常;调整窗口大小后出现多个重复提示符,需手动执行clear或reset才能恢复正常;推测该问题直接导致tmux分屏(小终端场景)出现异常
  • 已尝试无效方案:将bash风格的export PROMPT_COMMAND="resize &>/dev/null; $PROMPT_COMMAND"写入bashrc和config.fish,未解决问题

针对性解决方案

fish shell不支持bash的PROMPT_COMMAND环境变量,这是之前方案无效的核心原因。针对fish+tide的场景,可尝试以下步骤:

1. 监听终端大小变更,自动重绘提示符

在fish配置文件~/.config/fish/config.fish中添加窗口大小变更的监听事件:

function on_resize --event SIGWINCH
    commandline -f repaint
end

保存后执行source ~/.config/fish/config.fish或重启fish生效。该事件会在终端窗口大小改变时自动触发,强制重新绘制提示符,避免重复问题。

2. 更新tide到最新版本

旧版本tide可能存在与终端窗口调整的兼容性问题,根据你的安装方式执行更新:

  • 若用oh-my-fish管理:
omf update tide
  • 若用fisher管理:
fisher update IlanCosman/tide

3. 配置tmux同步终端大小

在tmux配置文件~/.tmux.conf中添加以下内容,确保分屏时终端大小变更能及时同步到fish:

set -g aggressive-resize on
set -g update-environment "DISPLAY SSH_AUTH_SOCK SSH_CONNECTION"

保存后重启tmux,减少分屏场景下的提示符异常概率。

验证方法

  1. 调整终端窗口大小,观察提示符是否自动恢复正常
  2. 启动tmux并分屏,检查小终端窗口中提示符是否无重复

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 18:43:12