前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >终端复用利器 Tmux

终端复用利器 Tmux

作者头像
呼延十
发布2019-07-01 16:58:17
1K0
发布2019-07-01 16:58:17
举报
文章被收录于专栏:呼延呼延

介绍

tmux 是一款终端复用命令行工具,一般用于 Terminal 的窗口管理。

我主要用它来解决以下问题:

  1. ctrl+tab来回切换多个terminal太累了.
  2. 我需要一边操作数据库,一边执行程序,一边看CPU占用率. 三个需要同时展示的时候,使用原生的终端太费劲了.

基本概念

tmux有几个基本概念,当然你不了解也行,工具嘛,会用就行.

  1. 会话(session):相当于对窗口进行一个分组的概念,每次主动连接tmux,会现金一个会话,当然你可以选择性的新建或者关闭.这个我使用的不多,我主要在一个会话中操作.
  2. 窗口(window):一个会话中可以有多个窗口,,每个窗口都是一个独立的终端,并且你可以使用快捷键快速的进行切换.
  3. 窗格(pane):一个窗口可以分割为多个窗口,可以水平分割和垂直分割.

常用命令

一般情况下 tmux 中所有的快捷键都需要和前缀快捷键 ⌃b 来组合使用(注:⌃ 为 Mac 的 control 键.

下面是常用的命令记录:

会话操作
  • $ 重命名当前会话
  • s 选择会话列表
  • d detach 当前会话,运行后将会退出 tmux 进程,返回至 shell 主进程

在shell主线程里(非tmux会话中)可以使用下列命令来操作会话.

tmux new -s foo # 新建名称为 foo 的会话
tmux ls # 列出所有 tmux 会话
tmux a # 恢复至上一次的会话
tmux a -t foo # 恢复名称为 foo 的会话,会话默认名称为数字
tmux kill-session -t foo # 删除名称为 foo 的会话
tmux kill-server # 删除所有的会话
窗口操作
  • c 新建窗口,此时当前窗口会切换至新窗口,不影响原有窗口的状态
  • p 切换至上一窗口
  • n 切换至下一窗口
  • w 窗口列表选择,注意 macOS 下使用 ⌃p 和 ⌃n 进行上下选择
  • & 关闭当前窗口
  • , 重命名窗口,可以使用中文,重命名后能在 tmux 状态栏更快速的识别窗口 id
  • 0 切换至 0 号窗口,使用其他数字 id 切换至对应窗口
  • f 根据窗口名搜索选择窗口,可模糊匹配
窗格操作
  • % 左右平分出两个窗格
  • ” 上下平分出两个窗格
  • x 关闭当前窗格
  • { 当前窗格前移
  • } 当前窗格后移
  • ; 选择上次使用的窗格
  • o 选择下一个窗格,也可以使用上下左右方向键来选择
  • space 切换窗格布局,tmux 内置了五种窗格布局,也可以通过 ⌥1 至 ⌥5来切换
  • z 最大化当前窗格,再次执行可恢复原来大小
  • q 显示所有窗格的序号,在序号出现期间按下对应的数字,即可跳转至对应的窗格

效果图

配置问题

使用iterm2加tmux的时候,你会发现在tmux窗口里面无法使用鼠标滚动窗口内容,具体表现为奇奇怪怪的各种样子.

我搜过好多次了,这次侥幸成功了,记录一下.

在主目录下创建tmux配置文件,vim ~/.tmux.conf,并写入set -g mouse on.

之后重新加载tmux,tmux source-file ~/.tmux.conf.并重新进入tmux.

然后会发现在iterm中无法选中复制了…..

打开配置,勾选下图中的选项.

2019-04-20-10-03-08
2019-04-20-10-03-08

OK,done.

tmux的窗口滚动是个玄学.

完.

ChangeLog

2019-01-17 完成

2019-04-20 添加tmux窗口滚动配置

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 基本概念
  • 常用命令
    • 会话操作
      • 窗口操作
        • 窗格操作
        • 效果图
        • 配置问题
          • ChangeLog
          相关产品与服务
          命令行工具
          腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档