在 tmux 中卡在覆盖模式
Stuck in overwrite mode in tmux
场景:我打开一个新的 tmux 会话,运行 emacs .tmux.conf。
.tmux.conf的第二行是:set-option -g prefix C-a。我键入 'asd',第二行现在显示为:asdset-option -g prefix C-a。一切顺利。
我 ssh 到另一台服务器,做了一些事情,然后关闭了连接。我现在重新运行 emacs .tmux.conf,然后输入'asd'。第二行现在显示 asd-option -g prefix C-a,但如果我保存 运行 emacs .tmux.conf再次,我会看到 asdset-option -g prefix C-a。
此问题会影响除第一行以外的所有行,即使我在提示符下键入命令也是如此。
采购 .bashrc,使用 respawn-pane 重置窗格,无法解决此问题。如果我创建一个新窗格或 window,问题将在新窗格或 window 中得到修复,直到我再次 运行 ssh。
发生什么事了?这显然是一个显示问题,因为对实际文件的检查表明我实际上并没有覆盖。
要解决此类问题,请输入您的 shell:
$ stty sane
这通常是一个通用的一次性修复程序,用于解决终端在奇怪的状态下关闭的问题。
要彻底解决这个问题,请检查您的 $TERM
环境变量。
在 tmux 中它应该是 TERM=screen
(可能存在一些后缀)。
tmux 会自动执行此操作,但您的 TERM
环境变量可以通过 shell startup/login 脚本更改。
所以,在你的 tmux window 中输入:
$ export TERM=screen
$ emacs <...>
如果有帮助,请修改您的 shell rc 文件。
场景:我打开一个新的 tmux 会话,运行 emacs .tmux.conf。
.tmux.conf的第二行是:set-option -g prefix C-a。我键入 'asd',第二行现在显示为:asdset-option -g prefix C-a。一切顺利。
我 ssh 到另一台服务器,做了一些事情,然后关闭了连接。我现在重新运行 emacs .tmux.conf,然后输入'asd'。第二行现在显示 asd-option -g prefix C-a,但如果我保存 运行 emacs .tmux.conf再次,我会看到 asdset-option -g prefix C-a。
此问题会影响除第一行以外的所有行,即使我在提示符下键入命令也是如此。
采购 .bashrc,使用 respawn-pane 重置窗格,无法解决此问题。如果我创建一个新窗格或 window,问题将在新窗格或 window 中得到修复,直到我再次 运行 ssh。
发生什么事了?这显然是一个显示问题,因为对实际文件的检查表明我实际上并没有覆盖。
要解决此类问题,请输入您的 shell:
$ stty sane
这通常是一个通用的一次性修复程序,用于解决终端在奇怪的状态下关闭的问题。
要彻底解决这个问题,请检查您的 $TERM
环境变量。
在 tmux 中它应该是 TERM=screen
(可能存在一些后缀)。
tmux 会自动执行此操作,但您的 TERM
环境变量可以通过 shell startup/login 脚本更改。
所以,在你的 tmux window 中输入:
$ export TERM=screen
$ emacs <...>
如果有帮助,请修改您的 shell rc 文件。