终端复用利器-Tmux使用

介绍

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

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

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

基本概念

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

  1. 会话(session):至关于对窗口进行一个分组的概念,每次主动链接tmux,会新建一个会话,固然你能够选择性的新建或者关闭.这个我使用的很少,我主要在一个会话中操做.
  2. 窗口(window):一个会话中能够有多个窗口,每一个窗口都是一个独立的终端,而且你可使用快捷键快速的进行切换.
  3. 窗格(pane):一个窗口能够分割为多个窗口,能够水平分割和垂直分割.同时进行多个任务的时候有用.

经常使用命令

通常状况下 tmux 中全部的快捷键都须要和前缀快捷键 ⌃b 来组合使用(注:⌃ 为 Mac 的 control 键.数据库

下面是经常使用的命令记录:vim

会话操做

  • $ 重命名当前会话session

  • 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 新建窗口,此时当前窗口会切换至新窗口,不影响原有窗口的状态ui

  • 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

OK,done.

tmux的窗口滚动是个玄学.

完.

参考文章

不过我的建议,不要作过多的配置,不少东西用原生的会更好,免去换电脑的操做,并且原生的习惯了,会更加顺畅一些. 超级详细的Tmux文章





ChangeLog

2019-01-17 完成 2019-04-20 添加tmux窗口滚动配置

以上皆为我的所思所得,若有错误欢迎评论区指正。

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

联系邮箱:huyanshi2580@gmail.com

更多学习笔记见我的博客------>呼延十

相关文章
相关标签/搜索