换行在 tmux 中不起作用

nik*_*iko 6 linux terminal bash tmux word-wrap

我正在使用konsole-4.14.3tmux-2.6我的 shell 是 bash。在 tmux 之外,换行工作正常,文本会移动到下一行。在 tmux 中,这不起作用。我用谷歌搜索了很长时间,但没有找到任何有效的修复方法。在我的~/.bashrc我有

export PS1="\[\e[1;92m\]\u@\h: \w \\$ \[\e[m\]"
export PS2='> '
Run Code Online (Sandbox Code Playgroud)

我把它们取下来再试一次,但结果是一样的。我使用的是 Slackware 14.2,问题似乎与某些系统设置有关,因为在相同的情况下~/.tmux.conf,换行在 Ubuntu 16.04 上可以按预期工作。

nik*_*iko 4

编辑:发现问题。它似乎发生在 bash 4.3 中,也许更旧的版本也发生了。TERM我的操作系统(外部tmux)的默认值为xterm。一旦TERM设置为screenscreen-256color,换行就会停止工作。由于tmux要求TERM设置为screenscreen-256color,换行将不起作用。更新到 bash 4.4 后问题得到解决。

  • 使用 Bash 5.0.3 体验这一点 (4认同)
  • Bash 5.0.17(1)-release 和 tmux 3.1b 上相同 (4认同)
  • 让我们记录一下,在“tmux”和“screen”中,“TERM”的期望值与“screen”相关(例如“screen-256color”),而“tmux”和“screen”的“outside”应该是无论终端模拟器默认为您设置什么(通常是“xterm”或“xterm-256color”)。不要期望相同的值(无论它是什么)在 tmux 外部和内部都有效。 (2认同)