Linux 在tmux中卡在覆盖模式下
场景:我打开一个新的tmux会话,然后运行emacs.tmux.conf .tmux.conf的第二行是:set option-g前缀C-a。我输入'asd',第二行现在显示:asdset option-g前缀C-a。一切都好 我使用ssh连接到另一台服务器,执行一些操作,然后关闭连接。现在我重新运行emacs.tmux.conf,并键入'asd'。第二行现在读取asd选项-g前缀C-a,但是如果我保存并再次运行emacs.tmux.conf,我将看到asdset选项-g前缀C-a 此问题会影响除第一行以外的所有行,即使在提示中键入命令时也是如此 bashrc使用respawn窗格重置窗格,并不能解决此问题。如果我创建了一个新的窗格或窗口,这个问题将在新窗格或窗口中得到修复,直到我再次运行sshLinux 在tmux中卡在覆盖模式下,linux,emacs,terminal,tmux,Linux,Emacs,Terminal,Tmux,场景:我打开一个新的tmux会话,然后运行emacs.tmux.conf .tmux.conf的第二行是:set option-g前缀C-a。我输入'asd',第二行现在显示:asdset option-g前缀C-a。一切都好 我使用ssh连接到另一台服务器,执行一些操作,然后关闭连接。现在我重新运行emacs.tmux.conf,并键入'asd'。第二行现在读取asd选项-g前缀C-a,但是如果我保存并再次运行emacs.tmux.conf,我将看到asdset选项-g前缀C-a 此问题会影响
发生了什么事?这显然是一个显示问题,因为对实际文件的检查表明我实际上没有覆盖 要解决此类问题,请在shell中键入:
$ stty sane
对于处于奇怪状态的终端,这通常是一个通用的一次性修复
要彻底解决此问题,请检查$TERM
环境变量
在tmux内部,它应该是TERM=screen
(可能会出现一些后缀)
tmux会自动执行此操作,但是您的术语环境变量可以通过shell启动/登录脚本进行更改
因此,在您的tmux窗口类型中:
$ export TERM=screen
$ emacs <...>
$export TERM=屏幕
$emacs
如果有帮助,请修改您的shell rc文件。如果我使用ssh连接到另一台服务器,则提示会自动结束-例如,如果我的提示是:username@server2:cd foo/bar/,我再输入一些,它就会变成outputme@server2:cd foo/bar/。tmux是在server1上本地构建的,如果有什么不同的话。