使用tmux分屏(既可以左右分屏,也可以上下分屏) |
您所在的位置:网站首页 › 终端停止刷新按两个键 › 使用tmux分屏(既可以左右分屏,也可以上下分屏) |
分屏效果
tmux并不是一个类似bash的终端,而是管理在管理会话,使用tmux后,其他配置还是和bash或zsh一样。 效果如图: 在centOS中,安装tmux只需要一句话 yum install tmux等待片刻即可安装完成,安装完后,使用的依然是默认的bash或自己配置的zsh。执行下一步的打开窗口后,才可以进行分屏,多窗口等操作。 打开一个新的会话,使用命令 tmux即可打开一个新的会话,在打开的tmux创建的窗口的时候,才可以分屏,多个窗口等操作。 在博客园看到这样一张图片,对tmux解释的很详细 用tmux可以新建多个窗口,每次只能显示一个窗口,新建的其他窗口进入后台,看不见,但却存在。 一个窗口中可以分割出多个窗格,多个窗格显示在同一个窗口,这就是常见的分屏。 在bash或zsh中输入tmux打开新的会话。可以配置在bash后zsh的配置文件中,启动bash自动运行tmux命令 默认前缀ctrl+b(命令中替换prefix) tmux中,使用分割窗格等需要使用快捷键。使用每个快捷键前,会先键入前缀, 使得tmux开始监听后面的命令。没有键入前缀,直接使用命令是不会触发tmux。 目前经常使用: 会话:每次断开连接没有关闭tmux,再次连接的时候,运行tmux命令会新建一个会话。当进入bash后,使用tmux ls可以查看后台未关闭的会话。进入会话后,可以使用快捷键,列出存在的会话。 会话命令作用 tmux ls 显示所有的会话 tmux kill-session -t s1 关闭会话s1 tmux kill-session -a -t s1 关闭除s1外的所有会话 tmux kill-server 关闭所有会话 prefix s 在会话中,列出会话,可进行切换窗格:每个窗口可以显示多个窗格 窗格命令作用 prefix % 水平方向创建窗格 prefix " 垂直方向创建窗格 prefix Up,Down,Left,Right 根据箭头方向切换窗格 prefix }{ 与下上一个窗格交换位置 prefix x 关闭当前窗格 prefix space(空格键) 重新排列当前窗口下的所有窗格窗口:每个会话,可以包含多个窗口。 窗口命令作用 prefix c 创建一个新窗口 prefix w 列出所有窗口,可进行切换 prefix np 进入下上一个窗口 prefix 0~9 选择编号0~9对应的窗口 prefix & 关闭当前窗口 窗格管理**prefix % 水平方向创建窗格 prefix " 垂直方向创建窗格 prefix Up|Down|Left|Right 根据箭头方向切换窗格 prefix q 显示窗格编号 prefix o 顺时针切换窗格 prefix } 与下一个窗格交换位置 prefix { 与上一个窗格交换位置 prefix x 关闭当前窗格 prefix space(空格键) 重新排列当前窗口下的所有窗格 prefix ! 将当前窗格置于新窗口 prefix Ctrl+o 逆时针旋转当前窗口的窗格 prefix t 在当前窗格显示时间 prefix z 放大当前窗格(再次按下将还原) prefix i 显示当前窗格信息 会话管理*常用命令* tmux new 创建默认名称的会话(在tmux命令模式使用new命令可实现同样的功能,其他命令同理,后文不再列出tmux终端命令) tmux new -s mysession 创建名为mysession的会话 tmux ls 显示会话列表 tmux a 连接上一个会话 tmux a -t mysession 连接指定会话 tmux rename -t s1 s2 重命名会话s1为s2 tmux kill-session 关闭上次打开的会话 tmux kill-session -t s1 关闭会话s1 tmux kill-session -a -t s1 关闭除s1外的所有会话 tmux kill-server 关闭所有会话 常用快捷键 prefix s 列出会话,可进行切换 prefix $ 重命名会话 prefix d 分离当前会话 prefix D 分离指定会话 窗口管理 prefix c 创建一个新窗口 prefix , 重命名当前窗口 prefix w 列出所有窗口,可进行切换 prefix n 进入下一个窗口 prefix p 进入上一个窗口 prefix l 进入之前操作的窗口 prefix 0~9 选择编号0~9对应的窗口 prefix . 修改当前窗口索引编号 prefix ' 切换至指定编号(可大于9)的窗口 prefix f 根据显示的内容搜索窗格 prefix & 关闭当前窗口 其他命令 tmux list-key 列出所有绑定的键,等同于prefix ? tmux list-command 列出所有命令 以上参考自: https://www.cnblogs.com/liuguanglin/p/9290345.html zsh的安装和配置可以参考 https://www.cnblogs.com/to-red/p/11580160.html centOS安装zsh时,使用命令 yum install zshUbuntu安装zsh时,使用命令 apt-get install zsh如果需要在每次连接时候,都启动一个新的tmux可以在zsh的配置文件/.zshrc或bash的/.bashrc配置文件的最后一行加上启动tmux的命令(使用的是哪个终端,编辑哪个终端的配置文件,查看自己使用的终端的命令echo $SHELL)例如 # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" tmux如果需要在每次连接时候,都打开上次断开连接前的tmux 在zsh/bash的配置文件中的最后,添加一行命令 # Example aliases # alias zshconfig="mate ~/.zshrc" # alias ohmyzsh="mate ~/.oh-my-zsh" tmux a------------------------------------------------------------------------------------------------------------------------- Tmux是很强大的一个终端工具。 在接触它的时候项目需要实现自动分屏,但它的文档和使用教程都只介绍了如何用快捷键分屏操作。后面试过模拟键盘进行操作来自动分屏,但模拟的键盘很容易出现bug,所以想要实现精准的控制自动分出想要的布局,只能通过指令来实现。 这里只介绍tmux的分屏(pane)有关的指令: 左右分屏: tmux split-pane -h 对应快捷键: Ctrl+b % 上下分屏:tmux spilt-pane -v 对应快捷键: Ctrl+b " 查看各个分屏(pane)的编号: 快捷键: Ctrl + b q 选择指定 pane :确定编号后(这里假设要选择0号pane): tmux select-pane -t 编号 关闭分屏: 快捷键 Ctrl + b x 设置pane的尺寸:resize-pane -t 编号 -x width -y width 快捷键:Ctrl+b 方向键 下面为网上能搜索到的一些基本指令: vi emacs 功能 ^ M-m 反缩进 Escape C-g 清除选定内容 Enter M-w 复制选定内容 j Down 光标下移 h Left 光标左移 l Right 光标右移 L 光标移到尾行 M M-r 光标移到中间行 H M-R 光标移到首行 k Up 光标上移 d C-u 删除整行 D C-k 删除到行末 $ C-e 移到行尾 : g 前往指定行 C-d M-Down 向下滚动半屏 C-u M-Up 向上滚动半屏 C-f Page down 下一页 w M-f 下一个词 p C-y 粘贴 C-b Page up 上一页 b M-b 上一个词 q Escape 退出 C-Down or J C-Down 向下翻 C-Up or K C-Up 向下翻 n n 继续搜索 ? C-r 向前搜索 / C-s 向后搜索 0 C-a 移到行首 Space C-Space 开始选中 C-t 字符调序 启动新会话: tmux [new -s 会话名 -n 窗口名] 恢复会话: tmux at [-t 会话名] 列出所有会话: tmux ls 关闭会话: tmux kill-session -t 会话名 关闭所有会话: tmux ls | grep : | cut -d. -f1 | awk '{print substr($1, 0, length($1)-1)}' | xargs kill 调整窗口排序 swap-window -s 3 -t 1 交换 3 号和 1 号窗口 swap-window -t 1 交换当前和 1 号窗口 move-window -t 1 移动当前窗口到 1 号 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |