【转】Tmux - Linux从业者必备利器
来源:互联网 发布:甘肃教师网络研修社区 编辑:程序博客网 时间:2024/06/04 20:14
转自:http://cenalulu.github.io/linux/tmux/
本文详细介绍tmux的概念和搭建过程
文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部
作者:卢钧轶(cenalulu)
本文原文地址:http://cenalulu.github.io/linux/tmux/
tmux
为什么要用tmux
tmux是什么?tmux是linux中一种管理窗口的程序。那么问题来了:Mac自带的Iterm2很好用啊。既支持多标签,也支持窗体内部Panel的分割,为什么还要用tmux?其实,多标签和分割窗体只是tmux的部分功能。用tmux的主要原因是它提供了一个窗体组随时存储和恢复的功能。看看以下的使用场景是否适合你:
- 公司台式机开了一堆vim和log打印窗口下班了。到家后灵感突发,想要继续coding,登陆VPN,SSH连上台式后发现又要重新打开各种窗口,瞬间没心情了。。。FML!这个时候你就可以在你的公司台式机上装个tmux。同一组工作环境,在多处共享。
- 公司服务器上调试程序,开了一堆窗口。出去吃了个饭,发现SSH超时了,
broken pipe
。重头开始。。。FML!如果你之前使用了tmux就不会有这样的问题,attach就能找回原来打开的那些窗口。
tmux的基本概念
我们先来理解下tmux的几个元素。tmux的主要元素分为三层:
- Session 一组窗口的集合,通常用来概括同一个任务。session可以有自己的名字便于任务之间的切换。
- Window 单个可见窗口。Windows有自己的编号,也可以认为和ITerm2中的Tab类似。
- Pane 窗格,被划分成小块的窗口,类似于Vim中 C-w +v 后的效果。
为了更好的理解,下面是三个元素在tmux中的具体展现。
可以看到Session总在tmux的左下角显示,通常会为他命名。例如我正在写博客,开了很多窗口那么我就会把这组窗口命名为blog
方便之后的重连和切换。而Window也会在最下方以一种Tab的形式展现。每个window都有自己的需要,也会以当前活动进程的名字命名。而Pane就比较好理解,即把单个窗口分割成若干个小块后的元素。
安装
本文以Mac环境为例。Linux的方法类似Centos系列的可以用yum install tmux
安装。
安装完直接执行tmux可能会有以下报错,按照下面的步骤执行命令即可
tmux的基本操作
Prefix-Command
前置操作:所有下面介绍的快捷键,都必须以前置操作开始。tmux默认的前置操作是CTRL+b
。例如,我们想要新建一个窗体,就需要先在键盘上摁下CTRL+b
,松开后再摁下n
键。
下面所有的prefix
均代表CTRL+b
Session相关操作
Window相关操作
Pane相关操作
tmux的一些个性化定制
默认的tmux风格比较朴素甚至有些丑陋。如果希望做一些美化和个性化配置的话,建议使用gpakosz的tmux配置。它的本质是一个tmux配置文件,实现了以下功能:
- 基于powerline的美化
- 显示笔记本电池电量
- 和Mac互通的剪切板
- 和vim更相近的快捷键
安装方式也很简单如下 (注意:如果想使用powerline美化需要先安装powerline,具体方法见之前的博文)
安装完以后就能获得以下效果了:
- 【转】Tmux - Linux从业者必备利器
- linux下远程管理利器-tmux
- Linux下终端利器tmux
- Linux下终端利器tmux
- Linux下终端利器tmux
- Linux下终端利器tmux
- linux 从业者技能要求
- Linux 下编程利器 tmux 和 ScecureCrt
- Linux 使用利器 screen和tmux
- 如何利用Linux下终端利器tmux
- Linux分屏利器tmux小记
- Linux下终端分屏利器tmux
- linux下的终端利器----tmux
- [转]2008中国Linux从业者职位分析
- 2008中国Linux 从业者职位分析报告[转]
- IT从业者必备的十五种能力
- 数据从业者必备的一些网站和工具
- 2008中国Linux从业者职位分析
- 多重继承 虚继承 组合
- Xpath爬虫爬去百度贴吧帖子
- keil烧写错误整理
- android事件传递
- asp.net 链接数据库时 尝试加载 Oracle 客户端库时引发 BadImageFormatException。
- 【转】Tmux - Linux从业者必备利器
- Node.js内存泄漏分析
- poj-1905 Expanding Rods (二分)
- uva11078【RMQ】
- PageSetupDialog 控件页边距bug的完整解决
- iOS开发调试技巧总结
- JNI开发的常见错误&&Android.mk文件说明&& jni开发的简便流程
- Ajax原理学习
- 片上网络