zoukankan      html  css  js  c++  java
  • Tips for TMUX

    常用命令

    tmux ls              # 显示后台session列表
    tmux new -t [name]   # 新建session
    tmux a -t [name]     # 进入session
    tmux kill-session -t [name]  # 关闭session
    
    prefix + $      # 重命名session
    prefix + s      # 从当前session查看所有session
    prefix + d      # 断开当前session连接
    
    prefix + c      # 新建window
    prefix + &      # 关闭当前window
    prefix + ,      # 重命名当前window
    
    prefix + "       # 当前pane下侧新建pane
    prefix + %       # 当前pane右侧新建pane
    prefix + x       # 关闭当前pane
    prefix + 方向键   # 根据方向键切换pane
    predix + z       # 进入或退出当前pane最大化
    

    基本概念

    tmux采用C/S模型构建,输入tmux命令就相当于开启了一个服务器,此时默认将新建一个会话,然后会话中默认新建一个窗口,窗口中默认新建一个面板。会话、窗口、面板之间的联系如下:

    一个tmux session(会话)可以包含多个window(窗口),窗口默认充满会话界面,因此这些窗口中可以运行相关性不大的任务。

    一个window又可以包含多个pane(面板),窗口下的面板,都处于同一界面下,这些面板适合运行相关性高的任务,以便同时观察到它们的运行情况。

    会话

    新建会话

    新建一个tmux session非常简单,语法为tmux new -s session-name,也可以简写为tmux,为了方便管理,建议指定会话名称,如下。

    tmux # 新建一个无名称的会话
    tmux new -s demo # 新建一个名称为demo的会话
    

    断开当前会话

    会话中操作了一段时间,我希望断开会话同时下次还能接着用,怎么做?此时可以使用detach命令。

    tmux detach # 断开当前会话,会话在后台运行
    

    也许你觉得这个太麻烦了,是的,tmux的会话中,我们已经可以使用tmux快捷键了。使用快捷键组合Ctrl+b + d,三次按键就可以断开当前会话。

    进入之前的会话

    断开会话后,想要接着上次留下的现场继续工作,就要使用到tmux的attach命令了,语法为tmux attach-session -t session-name,可简写为tmux a -t session-nametmux a。通常我们使用如下两种方式之一即可:

    tmux a # 默认进入第一个会话
    tmux a -t demo # 进入到名称为demo的会话
    

    关闭会话

    会话的使命完成后,一定是要关闭的。我们可以使用tmux的kill命令,kill命令有kill-panekill-serverkill-sessionkill-window共四种,其中kill-session的语法为tmux kill-session -t session-name。如下:

    tmux kill-session -t demo # 关闭demo会话
    tmux kill-server # 关闭服务器,所有的会话都将关闭
    

    查看所有的会话

    管理会话的第一步就是要查看所有的会话,我们可以使用如下命令:

    tmux list-session # 查看所有会话
    tmux ls # 查看所有会话,提倡使用简写形式
    

    如果刚好处于会话中怎么办?别担心,我们可以使用对应的tmux快捷键Ctrl+b + s,此时tmux将打开一个会话列表,按上下键(⬆︎⬇︎)或者鼠标滚轮,可选中目标会话,按左右键(⬅︎➜)可收起或展开会话的窗口,选中目标会话或窗口后,按回车键即可完成切换。

    快捷指令

    关于快捷指令,首先要认识到的是:tmux的所有指令,都包含同一个前缀,默认为Ctrl+b,输入完前缀过后,控制台激活,命令按键才能生效。前面tmux会话相关的操作中,我们共用到了两个快捷键Ctrl+b + dCtrl+b + s,但这仅仅是冰山一角,欲窥tmux庞大的快捷键体系,请看下表。

    系统指令

    前缀 指令 描述
    Ctrl+b ? 显示快捷键帮助文档
    Ctrl+b d 断开当前会话
    Ctrl+b D 选择要断开的会话
    Ctrl+b Ctrl+z 挂起当前会话
    Ctrl+b r 强制重载当前会话
    Ctrl+b s 显示会话列表用于选择并切换
    Ctrl+b : 进入命令行模式,此时可直接输入ls等命令
    Ctrl+b [ 进入复制模式,按q退出
    Ctrl+b ] 粘贴复制模式中复制的文本
    Ctrl+b ~ 列出提示信息缓存

    窗口(window)指令

    前缀 指令 描述
    Ctrl+b c 新建窗口
    Ctrl+b & 关闭当前窗口(关闭前需输入y or n确认)
    Ctrl+b 0~9 切换到指定窗口
    Ctrl+b p 切换到上一窗口
    Ctrl+b n 切换到下一窗口
    Ctrl+b w 打开窗口列表,用于且切换窗口
    Ctrl+b , 重命名当前窗口
    Ctrl+b . 修改当前窗口编号(适用于窗口重新排序)
    Ctrl+b f 快速定位到窗口(输入关键字匹配窗口名称)

    面板(pane)指令

    前缀 指令 描述
    Ctrl+b " 当前面板上下一分为二,下侧新建面板
    Ctrl+b % 当前面板左右一分为二,右侧新建面板
    Ctrl+b x 关闭当前面板(关闭前需输入y or n确认)
    Ctrl+b z 最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增)
    Ctrl+b ! 将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效)
    Ctrl+b ; 切换到最后一次使用的面板
    Ctrl+b q 显示面板编号,在编号消失前输入对应的数字可切换到相应的面板
    Ctrl+b { 向前置换当前面板
    Ctrl+b } 向后置换当前面板
    Ctrl+b Ctrl+o 顺时针旋转当前窗口中的所有面板
    Ctrl+b 方向键 移动光标切换面板
    Ctrl+b o 选择下一面板
    Ctrl+b 空格键 在自带的面板布局中循环切换
    Ctrl+b Alt+方向键 以5个单元格为单位调整当前面板边缘
    Ctrl+b Ctrl+方向键 以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖)
    Ctrl+b t 显示时钟

    参考

  • 相关阅读:
    启用oracle 11g自己主动收集统计信息
    在java中,怎样跳出当前的多重循环?
    从编程的角度理解gradle脚本﹘﹘Android Studio脚本构建和编程[魅族Degao]
    【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)
    实现icon和文字垂直居中的两种方法-(vertical-align and line-height)
    android发送get请求时报错
    KeyEvent 键码值
    Android-黑科技-微信抢红包必备软件
    Delicious Apples (hdu 5303 贪心+枚举)
    vim 插件配置博客记录
  • 原文地址:https://www.cnblogs.com/VVingerfly/p/11421446.html
Copyright © 2011-2022 走看看