我在 docker 中使用 tmux + zsh 遇到三个问题如下: 1. 在 tmux 中,无法输入中文 2. 在 tmux 中,zsh 的箭头和图标显示为下划线 3. 无论是否在 tmux 中,zsh 使用 tab 补全后,命令会重复且删除不掉 这两个问题皆是因为系统环境变量没有设置为 UTF-8,可以通过 locale 指令查看 解决办法是 export LANG=C.UTF-8 或者 dockerfile 中添加 ENV LANG C.UTF-8 或者 tmux -u (只能解决前两个问题) |
具体参考 这篇文章
安装
安装
sudo apt install tmux
会话
创建新的会话,默认新窗口名称为 0,也可以通过 -s 选项指定名称
tmux new
tmux new -s [name]
显示所有会话
tmux ls
快捷键把会话放在后台运行,ctrl
+ b
,松开后按下 d
。
直接关闭会话,使用 ctrl
+ d
,或者 ctrl
+ b
,松开后按下 x
。
进入会话
tmux attach -t [name]
修改会话名称
tmux rename -t [old] [new]
从主窗口删除会话
tmux ls
tmux kill-session -t [name]
在不同会话之间进行切换,ctrl
+ b
,松开后按下 s
,左右方向键可以收起/打开子窗口列表
子窗口
会话创建后默认有一个子窗口,一个会话可以有多个子窗口。
在会话中创建子窗口,ctrl
+ b
,松开后按下 c
在子窗口之间进行切换
ctrl
+b
,松开后按下w
,左右方向键可以收起/打开子窗口列表ctrl
+b
,松开后按下p
/n
,切换前一个/后一个子窗口
子窗口划分
子窗口可以划分窗格。
tmux -s new
tmux split-window
tmux split-window -h
在多个窗格中切换光标
- 使用如下命令
tmux select-pane -U tmux select-pane -D tmux select-pane -L tmux select-pane -R
ctrl
+b
,松开后按下方向键ctrl
+b
,松开后按下q
,然后按下数字ctrl
+b
,松开后按下w
,左右方向键可以收起/打开子窗口列表ctrl
+b
,松开后按下o
,按序跳到下一个窗格
最大化某个窗格,ctrl
+ b
,松开后按下 z
。再按一遍恢复至原大小。
关闭某个窗格, ctrl
+ d
,或者 ctrl
+ b
,松开后按下 x
。
翻屛模式
ctrl
+ b
,松开后按下 [
,进入翻屛模式,PageUp
和 PageDown
进行上下翻页。q
退出翻屛模式。