问题:
- 我打开一个终端(在 Linux Mint 中,所以是 mate-terminal)
- zsh 是 shell
- 然后我运行 tmux
- 使用 nano 编辑文件
- 使用光标上下滚动该文件
- 问题:在 nano 中向下滚动时,仅刷新终端窗口的下半部分
- 问题:在nano中向上滚动时,只有终端windo的上半部分被刷新
滚动时,文件的完整纳米视图不会在我的终端窗口中刷新。有小费吗?
编辑:我的.tmux.conf
看来这一行具体是罪魁祸首(因为注释掉它可以解决问题):
set -g default-terminal "xterm-256color"
我很确定我添加了该行,因为我什至在 SSH 会话期间运行 nano 时都遇到问题。
这是完整的文件:
set-option -g default-shell /bin/zsh
# Make sure tmux knows we're using 256 colours, for
# correct colourised output
set -g default-terminal "xterm-256color"
# The following were marked as "unknown", so
# I do know what I'm doing wrong.
#set -g mode-mouse on
#setw -g mouse-select-window on
#setw -g mouse-select-pane on
# Attempting to stop "alert" sound upon startup
# but none of these are working...
set-option bell-on-alert off
set-option bell-action none
set-option visual-bell off
答案1
来自 tmux 常见问题解答:
****************************************************** ************************** * 请注意:大多数显示问题都是由于错误的术语造成的!前 * *报告问题请确保内部术语设置正确并且* * 外部 tmux。 * ** * tmux 内部的 TERM 必须是“screen”或类似的(例如“screen-256color”)。 * * 不要费心报告不存在的问题! * ** * 在外部,它必须与您的终端匹配:特别是,使用“rxvt”作为 rxvt * * 和衍生物。 * ****************************************************** **************************
http://tmux.git.sourceforge.net/git/gitweb.cgi?p=tmux/tmux;a=blob;f=FAQ
答案2
我有一个非常相似的问题,但我使用的是 vim 而不是 nano。我还从源代码编译了 tmux(这个细节很重要)。我一直在绞尽脑汁试图找出解决方案,虽然我不知道确切的原因,但我想提供一些我试图最终使其发挥作用的步骤。我的问题是什么(改编自原始问题):
- 我打开一个终端(在 CentOS 7 中,即 gnome-terminal)
- zsh 是 shell
- 然后我运行 tmux
- 使用 vim 编辑文件
- 将视图拆分为维姆和
:sp
- 创建一个垂直分割的窗格多路复用器
- 返回文件,用光标上下滚动该文件
- 问题:在任一 vim 视口中向下滚动时,仅刷新视口的最底部(仅刷新光标所在的行)
- 问题:在任一 vim 视口中向上滚动时,仅刷新视口的最顶部(仅刷新光标所在的行)
- 然而,有时,如果我调整终端的缩放(
Ctrl-minus
或Ctrl-Shift-+
) ,我可以使底部视口正确滚动 - 问题:除此之外,如果我转到新的 tmux 窗格并输入一堆文本(带空格),然后转到命令的开头并使用删除键删除一些字符,终端将打印一部分命令位于最上面一行当我还在编辑的时候。而且我无法准确地了解实际输入的内容。不好玩。
以下是我最终修复它的方法:首先,我建议确保 tmux 使用screen-256color
TERM 设置。将其放入您的 .tmux.conf 中:
设置-g 默认终端“screen-256color”
现在关闭所有 tmux 会话。重新打开 tmux 并查看是否以某种方式解决了问题:
回显$TERM
应该说screen-256color
。不幸的是,这对我来说还不够,我遇到了同样的问题。
什么最终为我修复的方法是从 github 克隆最新的 tmux 版本(在撰写本文时为 v2.8),然后重新编译。我将这个新的构建/二进制文件放在一个单独的目录中,你瞧,新的二进制文件可以工作,而旧的二进制文件(未知版本)仍然不能工作。不过,旧版本仍然是最新版本。