对于程序员来说,一个好用且高效的软件工具就如同加持了神技的游戏角色。下面就给大家介绍一个神器 Tmux 以及个人的使用总结。

一、我所认识的 Tmux

在工作中,我把 tmux 当作终端会话管理器来使用,效果是:当前 shell 关闭后,只要不重启服务器,在 Tmux 会话里运行的指令就不会退出,对于运维及研发来讲,此工具掌握后,有助于提高工作效率!而且,逼格也不低哦。

二、Tmux会话

一个 Tmux 会话中可以包含多个窗口。会话功能非常简单易用,例如可以为一个特定的项目创建一个专用的 Tmux 会话。若要创建一个新的会话,只需要在终端运行如下的命令:

tmux new -s <name-of-my-session>

假设我还需要开发另一个项目,于是我就会为此再新建一个会话。虽然进入了新的会话,但是原来的会话并没有消失。所以我可以在稍后回到之前的会话继续工作。若要创建一个新的会话,只需要按下 Ctrl-b : ,然后输入如下的命令:

new -s <name-of-my-new-session>

三、Tumx切换

若要获取现有会话的列表,可以按下 Ctrl-b s。下图所示的就是会话的列表

列表中的每个会话都有一个 ID,该 ID 是从 0 开始的。按下对应的 ID 就可以进入会话。如果你已经创建了一个或多个会话,但是还没有运行 Tmux,那么可以输入如下命令以接入已开启的会话。

tmux attach

tmux下无法滚屏很烦人。 
一招即可解决: CTRL + B 再按 [,这时就可以用光标键来操作翻页滚屏 
如果需要兼容vim的操作方式,那么在~/.tmux.conf加上一行:

setw -g mode-keys vi

四、进阶神器“Tmuxinator”

Tmuxinator 是一个 Ruby 的 gem 包,可用于创建 Tmux 的会话。它的工作方式是先在配置文件中定义会话中的细节,然后用 1 条命令创建出这些会话。下面就让我们看看如何安装 Tmuxinator 以及如何添加配置来为指定项目开启一个会话。可以通过运行如下命令安装 Tmuxinator 的 gem 包。

$ yum install ruby -y
$ gem install tmuxinator

下面就让我们为上述的应用程序(有 3 个窗口,分别是“PythonServer”, “PythonShell” 和 “Mysql”)来创建一个配置文件吧。下面这条命令的作用是为这个项目创建并打开一个配置文件。

$ tmuxinator new project_a

按下回车键后,就会自动打开文件 ~/.tmuxinator/project_a.yml。为了实现项目 A 所需的配置,你需要把 project_a.yml 的内容更新为:

cat /root/.tmuxinator/project_a.yml

name: project_a
root: ~/

windows:
  - PythonServer: 'python /opt/project/cmdb/manage.py runserver 0.0.0.0:8000'
  - PythonShell: 'python /opt/project/cmdb/manage.py shell'
  - Mysql: 'mysql -uroot -p123123'

一旦将上面的配置添加到了项目 A 的 Yaml 文件中,只需要运行下面这条命令就可以启动 Tmux 的会话了。

$ tmuxinator start project_a

当然如果愿意的话,你也可以使用 Tmuxinator 命令的别名:

alias mux=tmuxinator
mux start project_a

大功告成了。现在,每当想进入项目 A 的编码工作时,就只需要运行 Tmuxinator 命令。

五、最后

C-b c 创建一个新的窗口

C-b n 切换到下一个窗口

C-b p 切换到上一个窗口

C-b l 最后一个窗口,和上一个窗口的概念不一样哟,谁试谁知道

C-b w 通过上下键选择当前窗口中打开的会话

C-b 数字 直接跳到你按的数字所在的窗口

C-b d 临时断开会话 断开以后,还可以连上的哟:)

C-b " 分割出来一个窗口

C-b % 分割出来一个窗口

C-b o 在小窗口中切换

C-b (方向键)

C-b ! 关闭所有小窗口

C-b x 关闭当前光标处的小窗口

C-b t 钟表

C-b , 重命名当前窗口;这样便于识别

安利一个神器:Tmux的更多相关文章

  1. linux开发神器--Tmux

    在Linux上工作的朋友,可能会常常遇到这种情况: 痛点1: 在公司用putty连着Linux开发机,程序正跑着,不知不觉到了下班的时候,要和老婆/女朋友约会了,但是程序还没跑完,并且进度有点紧,还得 ...

  2. (转载)Linux终端复用神器-Tmux使用

    Linux终端复用神器-Tmux使用 转载地址:https://blog.51cto.com/652465/2094738 Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于Open ...

  3. [原创]安卓使用Termux做渗透测试(演示sqlmap安装,并附上一个神器)

    由于手机kali太大,并且MIUI8+Android6.0的我.用手机kali不是太方便(懒得捣鼓),所以另找道路,用手机作渗透测试. 1.下载一个Termux,并授予ROOT权限. 2.打开之后输入 ...

  4. 安利一个vps,7美元/年。

    黑色星期五.给大家安利一个vps,7美元/年.配置如下:2 个虚拟化 CPU 2 GB (2048 MB) 专属内存 50 GB RAID-10 受保护硬盘存储 3000 GB (3TB) 月流量 1 ...

  5. 安利一个很火的 Github 滤镜项目

    安利一个很火的 Github 滤镜项目 园长 1 个月前 简评:通过深度学习,一秒钟让你的照片高大上,这是康奈尔大学和 Adobe 的工程师合作的一个新项目,通过卷积神经网络把图片进行风格迁移.项目已 ...

  6. 安利一个MVC的好东西,RazorGenerator.MsBuild,可以自动编译cshtml文件

    在传统的asp.net webForm 开发里,在发布时,如果选择预编译,就会自动将所有的aspx 文件编译,在发布后的目录里,就看不到aspx的源代码了,同时因为是预编译的,所以每个页面打开速度都挺 ...

  7. Linux终端复用神器-Tmux使用梳理

    Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“ ...

  8. 安利一个十分实用的IDEA插件--RestfulToolkit

    官网链接:http://plugins.jetbrains.com/plugin/10292-restfultoolkit,英汉双语的帮助文档. 一套 RESTful 服务开发辅助工具集. 1.根据 ...

  9. 神器 Tmux 的超绝便利

    服务器的任务不间断运行,就是利用了 tmux 的特性.就是说,一般 ssh 是断开就会停止所有之前连接 ssh 期间运行的所有 processes,而 tmux 的核心业务不在于把屏幕分成几块好看,而 ...

随机推荐

  1. centos5.11 repo 安装mysql5.7

    http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html mysql yum repo 安装说明 http://d ...

  2. 《UML大战需求分析》阅读笔记01

    在刚学习软件开发的课程时,首先学习了UML设计,但只是学习了基本的语法,虽然在学期通过课堂练习进行了实践,但并没有真正理解其中作用.为了进一步的理解UML的用法,我阅读了<UML大战需求分析&g ...

  3. org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 421. occured resuming VM.

    环境: 导入excel的时候,会根据路径,读取EXCEL的数据. 原因: 电脑上的防火墙关闭

  4. vs C#数据库导入EXCLE

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  5. 你好,C++(31)我终于找到对象啦!6.1 从结构化设计到面向对象程序设计

    第6章 当C++爱上面向对象 很多第一次进入C++世界的人都会问:C++中的那两个加号到底是什么意思啊? C++是由C语言发展而来的,它比C语言多出的两个加号,实际上是C语言的自增操作符,表示C++语 ...

  6. LoadRunner 技巧之THML 与 URL两种录制模式分析

    Loadrunner的Virtual User Generator 提供人脚本的录制功能,对于初学者来说,这大大的降低了编写脚本的门槛,loadrunner提供两种录制脚本的方式:Html_based ...

  7. Ello讲述Haar人脸检测:易懂、很详细、值得围观

    源地址:http://www.thinkface.cn/thread-142-1-1.html 由于工作需要,我开始研究人脸检测部分的算法,这期间断断续续地学习Haar分类器的训练以及检测过程,在这里 ...

  8. MSSQL Rebuild(重建)索引

    MSSQL Rebuild(重建)索引 前的项目是做数据库的归档,在每次archive后都需要对原数据库的索引进行rebuild,以减少索引碎片,于是乎就自己写了一段sql: DECLARE @tab ...

  9. 201521123093 java 第八周总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 1.2 选做:收集你认为有用的代码片段 1.泛型简介:同一个代码可以被不同的对象重用 2.使用泛型的好处:允许 ...

  10. selenium定位方式-Xpath使用方法

    什么是Xpath? XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 一. 在火狐浏览器上安装Xpath 方法如下: 1.使用 Firefox 访问 https://a ...