zl程序教程

您现在的位置是:首页 >  其他

当前栏目

TMUX使用指南-基础版

2023-03-20 15:25:45 时间

在Linux系统中可以通过apt安装

sudo apt install tmux

命令行输入命令使用工具

~$:tmux

0.基础概念

  • session

    通过tmux new -s name 新建一个session,我们称之为一个会话。在一个会话中可以有多个window,通过指令进行window之间的跳转和切换。

  • window

    在一个会话中,通过ctrl-b + c 新建一个window,我们称之为一个窗口。强制关闭一个窗口使用 ctrl-b + &,逻辑与的符号。

  • panel

    在一个窗口中,有时我们想同时观察或者打开多个文件,这时可以通过 ctrl-b + " 上下分屏,或者 ctrl-b + % 左右分屏,每一个分屏我们称之为一个面板。

三者的区别见附录的图示。

1. 原生指令

  • 上下分屏:ctrl + b + "
  • 左右分屏:ctrl + b + %
  • 切换屏幕:ctrl + b + o
  • 关闭一个终端:ctrl + b + x
  • 上下分屏与左右分屏切换: ctrl + b + Space
  • 与上一个窗口交换位置 ctrl + b + {
  • 与下一个窗口交换位置 ctrl + b + }

2. 常用指令

  • 打开一个新会话tmux new -s name-of-my-session
  • 列出当前所有会话 tmux ls
  • 切换到指定会话 tmux a -t session-name
  • 断开当前会话(并没有终止,仍然可以通过tmux a -t session-name重新进入)tmux detach
  • 关闭会话并终止所有会话中的所有程序 tmux kill-session -t session-name

  • 列出所有快捷键 tmux list-keys
  • 列出所有 tmux 命令及其参数 tmux list-commands
  • 列出当前所有会话的信息 tmux info
  • 重新加载 tmux 配置 tmux source-file ~/.tmux.conf

3. 改变pane的大小

bind-key -r    M-Up resize-pane -U 5

bind-key -r  M-Down resize-pane -D 5

bind-key -r  M-Left resize-pane -L 5

bind-key -r M-Right resize-pane -R 5

bind-key -r    C-Up resize-pane -U

bind-key -r  C-Down resize-pane -D

bind-key -r  C-Left resize-pane -L

bind-key -r C-Right resize-pane -R

在Mac系统上,这里的 bind-key 默认是 control+Bbind-key -r指的是通过control+B触发功能,然后M-Up指的是control+option+Arrorw up的组合键。

4. 手动关闭窗口window

prefix + p  #切换到前面一个window

prefix + n  #切换到后面一个window

prefix + w  #列出当前session所有window,并可通过上下箭进行选择

prefix + &  #关闭当前window

5. 会话重命名session

首先ctrl-b + :进入指令模式。

输入下述指令, 指定当前会话名称和新的会话名称。

rename-session -t [current-name] [new-name]

例如我想将原来名为 hello 的session 重命名成 test,只需要 rename-session -t hello test即可生效。

附录:其他

A.编译安装

事情的起因是命令行安装tmux,显示找不到相应的package,于是参考安装指南https://github.com/tmux/tmux/wiki/Installing#building-dependencies

如果找不到系统安装版本可以自行下载编译安装

于是下载 libeventncurses

先进入 libevent 编译安装,提示找不到 openssl

missing: OPENSSL_LIBRARIES  OPENSSL_INCLUDE_DIR

不得已,自己重新安装 openssl 吧:Linux 从源码编译安装 OpenSSL

B. 图示

如下是一个打开的 zsh 界面

通过tmux new -s name 新建一个session,默认进入编号为0window。此时在zsh底部状态栏会发生变化,利用星号*指示当前在所在的window。一个zsh窗口只能有一个session,如果想要多个session需要打开多个zsh窗口。


通过ctrl-b + c新建一个window并进入该window的界面。一个 session 可以有多个window

如果想要左右对比看代码或者指令,可以通过ctrl-b + %来完成,这时会在右侧新建一个panel并转到该界面。一个 window 可以有多个 panel

同理,可以通过ctrl-b + "新建上下分屏的panel。这样就可以在不同的panel中完成不同的任务了。

(全文完)


参考资料

[1] libevent https://github.com/libevent/libevent/releases/tag/release-2.1.11-stable

[2] ncurses https://invisible-mirror.net/archives/ncurses/

[3] Linux 从源码编译安装 OpenSSL https://www.linuxidc.com/Linux/2011-10/45738.htm