tmux终端意外出现控制字符

2020-10-10 17:54:31 浏览数 (2)

Mac下iterm里运行tmux异常案例。

tmux是一个优秀的终端工具。在以前,其实我是screen党,因为足够简单。

接触tmux后,发现它也够简单,而且相比screen比较实用的一点是,在screen里,无法按下ctrl a组合键回到当前命令行的行首,而tmux则可以,于是就可耻的”叛变了“。

相对于Screen,它也更好用:支持屏幕切分(横切、竖切),支持在一个终端里开启多个会话,也有更丰富的命令行参数。

macos下,用iterm登入远程主机,进入tmux,按下shift 空格/回删,或者ctrl 回删,都会出现控制字符。

代码语言:javascript复制
#手速稍微快一些,就会出来好几个控制字符
[root@yejr.run tmp]# 7;2u  ;2u  7;5u
-bash: 7: command not found
-bash: 2u: command not found
-bash: 2u: command not found
-bash: 5u: command not found

#在mysql客户端里也会出现
root@yejr.run [test]>select *;2u from t1;

只需要把远程主机的TERM环境变量改成ansi/vt100之类的就没事。

代码语言:javascript复制
[root@yejr.run ~]# env | grep TERM
TERM=xterm
[root@yejr.run ~]#
[root@yejr.run ~]#
[root@yejr.run ~]# export TERM=ansi
[root@yejr.run ~]#
[root@yejr.run ~]# tmux a -t yejr

#之后在tmux里查看TERM,并且也不会再出现控制字符了
[root@yejr.run ~]# env | grep TERM
TERM=screen

如果是xterm/linux就会出现上述问题。

此外,如果是tmux在本地环境运行也不会,只有连接到远程主机才会这样。

备注:文中图片来自网搜,若有侵权请告知,立即删除。

全文完。

Enjoy tmux :)

0 人点赞