tmux

本教程是基于ACWing的《Linux基础课》所做,希望大家支持ACWing

功能

  • 分屏

    当需要同时运行两个终端,并且进行比对着输入时,来回切换比较麻烦,就可以利用分屏

    可以在一个对话框里同时处理两个终端,其中每个分屏都是一个终端,都是一个shell对话框

  • 允许断开Terminal连接后(关掉终端),继续运行进程

    在tmux中写文档时,不需要担心断网,断网后连接回tmux,所有东西都还在,让进程不会因为断开连接而中断,比如在tmux中使用vim时,不用担心意外,写的文件不会丢掉,进程会在云端执行

结构

一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane

session:会话

window:窗口

pane:小窗口

每个pane都会打开一个shell交互对话框

创建一个session

在终端中输入:

tmux

直接输入tmux,会新建一个session,其中包含一个window,window中包含一个pane,pane里打开了一个shell对话框

切分pane为多个pane

在tmux中,许多操作需要用到前缀键

前缀键:Ctrl + a

竖直分屏

按下Ctrl + a后手指松开,然后按%,将当前pane左右平分成两个pane

并且可以继续分割

横向分屏

按下Ctrl + a后手指松开,然后按",将当前pane上下平分成两个pane

退出

关闭当前pane,如果当前window所有pane均关闭,则自动关闭window,若当前session的所有window均已关闭,则自动关闭session

Ctrl + d

若只有一个session,一个window,一个pane时,按下Ctrl + d

则会直接退出session

选中一个pane

鼠标操作:鼠标点击可以选pane

键盘操作:按下Ctrl + a后手指松开,然后按方向键:选择相邻的pane

调整分割线位置

鼠标操作:鼠标拖动pane之间的分割线,可以调整分割线的位置

键盘操作:按住Ctrl + a同时方向键,可以调整pane之间分割线的位置

注意是同时,与切换pane不一样

全屏、取消全屏

选中想要全屏的窗口后,按下Ctrl + a后手指松开,然后按 z,将当前pane全屏/取消全屏

挂起当前session

要退出tmux,但又不想把session关掉,也就是不想把窗口关掉时

按下Ctrl + a后手指松开,然后按d

此时已经从tmux中退出来,但是session是挂起的

打开之前挂起的session

若想打开刚刚挂起的session

tmux a

或者

tmux attach

选择其他的session

当把当前的session挂起后,再输入命令tmux,就会打开一个新的session

选择其他的session:按下Ctrl + a后手指松开,然后按s

会出现一个菜单列表,可以在里面使用方向键选择session

方向键上:选择上一项

方向键下:选择下一项

方向键右:展开当前项

方向键左:闭合当前项

方向键上下选择哪个session

在每个session中,按下,会展开,可以看见有多少个pane,再按一下,就会把该window所有pane都展开;按下,会合上

创建一个window

按下Ctrl + a后手指松开,然后按c,在当前session中创建一个新的window

可以使用Ctrl + a和按s来查看是否创建了新的window

可以看见当前session中的window数量从1个变成了2个

选择其他window

按下Ctrl + a后手指松开,然后按w:选择其他window,方向键与选择其他session同理

在第一个session里,有两个window,一个window有3个pane,一个有1个pane

Ctrl a + s 默认打开session这一级

Ctrl a + w 默认打开window这一级

Ctrl a + s

Ctrl a + w

建议每个session只开一个window

翻阅当前pane内的内容

按下Ctrl + a后手指松开,然后按PageUp/PageDown

从tmux中复制文本

在tmux中选中文本时,需要按住Shift键来选中,选中完成后,再使用 Ctrl + InsertShift + Insert

Ctrl + Insert 从终端里复制

Shift + Insert 往终端里粘贴

tmux 入门教程的更多相关文章

  1. Tmux入门教程

      对于程序员来说效率绝对是最重要的,那我们今天就来介绍下一个能极大提高工作效率的软件Tmux.   Tmux 是一个工具,用于在一个终端窗口中运行多个终端会话.不仅如此,你还可以通过 Tmux 使终 ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. Content Security Policy 入门教程

    阮一峰文章:Content Security Policy 入门教程

  6. gulp详细入门教程

    本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...

  7. UE4新手引导入门教程

    请大家去这个地址下载:file:///D:/UE4%20Doc/虚幻4新手引导入门教程.pdf

  8. ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  9. webpack入门教程之初识loader(二)

    上一节我们学习了webpack的安装和编译,这一节我们来一起学习webpack的加载器和配置文件. 要想让网页看起来绚丽多彩,那么css就是必不可少的一份子.如果想要在应用中增加一个css文件,那么w ...

随机推荐

  1. 5G的到来

    通信改变未来,从古至今信息的传输和获取从来就没有缺少过,之所以谁能取得胜利就是谁掌握的资源多,其中信息资源尤为重要,只要获取到更多的信息你就能提前做出应对策略.因此未来一定是信息的未来,作为信息传输的 ...

  2. 第三十四个知识点:描述攻击离散对数问题的baby-step/Giant-step方法

    第三十四个知识点:描述攻击离散对数问题的baby-step/Giant-step方法 Baby-step/Giant-step是Dnaiel Shanks为解决DLP问题开发的算法.DLP问题已经是许 ...

  3. A Deep Neural Network’s Loss Surface Contains Every Low-dimensional Pattern

    目录 概 相关工作 主要内容 引理1 定理1 定理2 A Deep Neural Network's Loss Surface Contains Every Low-dimensional Patte ...

  4. TensorFlow.NET机器学习入门【8】采用GPU进行学习

    随着网络越来约复杂,训练难度越来越大,有条件的可以采用GPU进行学习.本文介绍如何在GPU环境下使用TensorFlow.NET. TensorFlow.NET使用GPU非常的简单,代码不用做任何修改 ...

  5. 论文翻译:2020_Attention Wave-U-Net for Acoustic Echo Cancellation

    论文地址:http://www.interspeech2020.org/uploadfile/pdf/Thu-1-10-10.pdf Attention Wave-U-Net 的回声消除 摘要 提出了 ...

  6. Python项目生成requirements.txt文件及pip升级问题解决及流程

    缘由:新项目使用Python, PC上的python包不全,需要通过requirements.txt文件指定安装所需包 pip安装遇到一些坑 一.直接使用pip包管理工具生成requirements. ...

  7. LCA/在线(倍增)离线(Tarjan)

    概念 祖先 公共祖先 最近公共祖先 方法1:暴力爬山法 方法2:倍增 求公共祖先 求俩点的距离 Tarjan 概念 祖先 有根树中,一个节点到根的路径上的所有节点被视为这个点的祖先,包括根和它本身 公 ...

  8. Apache Ant: If 和 Unless

    目录 If And Unless If And Unless 从 Ant 1.9.1 起,可以在所有的任务和嵌套的元素上以特别的命名空间添加 if 和 unless 属性. In order to u ...

  9. SpringCloud的Config应用

    一.简介 ***应用程序先注册到注册中心,在注册中心根据guli-config服务的名字找到配置中心,然后在配置中心根据配置从github加载基本配置. 二.配置中心(服务端,可以部署集群) 1.依赖 ...

  10. Object.keys()方法 返回对象属性数组

    MDN语法 Object.keys(obj) 参数obj:要返回其枚举自身属性的对象. 返回值:一个表示给定对象的所有可枚举属性的字符串数组. 1.传入一个对象,返回的的是所有属性值 var obj2 ...