关闭

tmux安装与使用

标签: vimtmux终端
6520人阅读 评论(1) 收藏 举报
分类:

tmux 按照官方给出的介绍是:终端复用工具。说白了就是可以仅仅在开启一个终端的情况下同时处理多个任务。

比如下面我设置的这样一个终端。
tmux实现一个终端操作多个界面

昨天,旭哥给我说这个东西的时候,我还是第一次听说。同时旭哥还介绍了另一个screen,这同样是个终端复用工具。

但是和tmux相比,screen是基于GPLv2开源协议的开源软件,tmux是基于FreeBSD开源协议,对于vim有更好的接口,更适用于Unix用户。

安装

对我而言,因为换了一台MacPro,所以使用brew进行安装就很方便。

brew install tmux

对于Linux用户而言,有包管理工具的话自然也是很方便的,但是对于源码安装这个方式就必须多敲几个命令了。
详细的步骤可以参考下面的这个链接。
http://www.jianshu.com/p/f7f24b4b2625


用法

网上对tmux有很多详细介绍的帖子,我个人觉得没有必要重复的造轮子,就选取了最接近tmux官方文档的翻译版本。有兴趣的话可以参考下面文章的链接。
http://wdxtub.com/2016/03/30/tmux-guide/

重点

下面对我个人认为比较有迷惑性的知识点进行一下剖析。

一、<prefix>前缀键

好比是vimesc键,在各种状态之间进行切换必不可少的要使用到它,对于tmux也是这样,默认是ctrl+b,也就是说,我们在进行快捷键操作的时候要先按下ctrl+b,然后再按下相对应的功能键。

比如我想在终端看下时间可以这么干!

第一步:ctrl+b
第二步:按下键盘上的t键

实现的效果如下:
在终端查看当前时间

对于其他的快捷键可以参考第二部分的内容。

二、window和pane的区分

显而易见,window是一个完整的终端界面,而pane则是附着于window的更小的单元。在第二部分已经介绍过了相关的操作步骤。我们可以开启多个会话(session),然后针对每一个session(其实就是一个window)我们可以分割出多个的pane,然后在不同的pane进行命令的执行。

下面详细介绍一下整体的使用流程。

tmux new -s first

就进入了session名为first的一个会话。

tmux split-window # 横向分割window
tmux split-window -h # 纵向分割window

分割界面

对pane进行左右(上下)互换:

tmux swap-pane -[DULR]

实现的效果如下:
对pane进行替换

暂时退出tmux:

第一步:ctrl+b
第二步:ctrl+z

然后如果想再次进入到这个session中的话,执行下面的命令。

tmux attach-session -t session_name

这样就又能恢复到之前的那个窗口工作的环境了。

最后工作全部做完了不需要tmux了,就可以执行:

tmux kill-server

来退出所有的tmux会话环境了。

  • ctrl + b 然后,: 重命名当前窗口名称。
  • ctrl + b 然后 alt + ←(→): 将当前面板向左(右)扩大(缩小)。
  • ctrl + b 然后 alt + ↑(↓): 将当前面板向上(下)缩小(扩大)。

配置备份

现在是2017年09月07日14:21:11,突然想起来还没给tmux配置文件备份呢,赶紧过来更新下博客。

# 配置快速实现配置生效的快捷键
bind r source-file ~/.tmux.conf \; display "配置文件已经重新加载!"
# 改变Prefix为Ctrl+a,来像其他的应用程序发送按键,但是记得要按两次
bind C-a send-prefix
# 改变分屏的快捷键,下面的更加形象
bind | split-window -h
bind - split-window -v
# 改变pane的大小, 按照单词的寓意来描述
# 因为不加-r参数的话,每次都得按prefix,这比较麻烦,所以一般要加上-r参数。最后面的5是每次变化的大小
#bind -r L resize-pane -L 5
#bind -r D resize-pane -D 5
#bind -r U resize-pane -U 5
#bind -r R resize-pane -R 5
# 增加鼠标支持
#setw -g mode-mouse on
#set -g mouse-select-pane on
#set -g mouse-resize-pane on
#set -g mouse-select-window on

# 支持256色
# set -g default-ternimal "screen-256color"
# 改变状态栏的颜色,字体白色,背景黑色
set -g status-fg white
set -g status-bg black
# 设置active的window和其他区别开来
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim
# 以继承的方式对当前window状态栏进行设置
setw -g window-status-current-fg white
setw -g window-status-current-bg red
setw -g window-status-current-attr bright
# 配置pane分割线,使得正在使用的pane更加突出
set -g pane-border-fg green
set -g pane-border-bg black
set -g pane-active-border-fg white
set -g pane-active-border-bg yellow
# 设置命令行,高亮消息
set -g message-fg white
set -g message-bg black
set -g message-attr bright
# 设置左侧的status栏
set -g status-left-length 40
set -g status-left "#[fg=White]Session: #S  #[fg=cyan]#P"
# 设置右侧的status栏
set -g status-right "#[fg=cyan]%d %b %R"
# 开启status对于utf8的支持
# set -g status-utf8 on
# 设置tmux的刷新时间,以便显示右下角的真实时间
set -g status-interval 60
# 设置status中间的Windows们的对齐方式为居中对齐。
set -g status-justify centre
# 在其他窗口中显示“通知”,变成青色
setw -g monitor-activity on
set -g visual-activity on

这两天才发现,组内各位大哥都是ssh到服务器上用vim直接开发的,真的是太厉害了。各种炫酷的界面,真的是让我大开眼界,以后要好好向他们学习了。

3
0
查看评论

源码编译安装 tmux

sudo apt-get install exuberant-ctags sudo apt-get install cmake sudo apt-get install libevent-dev sudo apt-get install libncurses5-dev $ git cl...
  • firebird321
  • firebird321
  • 2017-04-12 17:38
  • 481

Ubuntu环境的Tmux第一次上手

啦啦啦啦 不想上数据库应用这门课
  • qq_33447234
  • qq_33447234
  • 2016-12-05 09:17
  • 2644

linux下的终端利器----tmux

参考 http://os.51cto.com/art/201410/453671.htm tmux简单教程 tmux 简介我想大家之前都听说过terminator ,这个多终端管理器,之前我也一直使用的这个,但是使用起来感觉有点丑陋,而且使用起来非常不方便。但是这个tmux 却可以使你...
  • gatieme
  • gatieme
  • 2015-10-21 21:29
  • 5067

终端利器 - tmux配置与使用

适用场景tmux是一个优秀的终端多路复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机;当然其功能远不止于此,比如分屏(当然其他一些软件也能...
  • simple_the_best
  • simple_the_best
  • 2016-05-10 09:58
  • 2815

tmux的使用方法和个性化配置

介绍 tmux是一个优秀的终端复用软件,即使非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失!此外,tmux完全使用键盘控制窗口,实现窗口的切换功能。 简单地说,tmux对于我主要有两个功能(这应该也是tmux的主要功能): s...
  • RobertBaker
  • RobertBaker
  • 2014-12-26 15:06
  • 32455

tmux使用及个性化配置

1. tmux介绍 tmux是一个优秀的终端复用软件,split窗口。可以在一个terminal下打开多个终端。 即使非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失。SSH重新连接以后,就可以直接回到原来的工作环境,不但提高了工作效率,...
  • ZCF1002797280
  • ZCF1002797280
  • 2016-07-08 11:30
  • 6237

ubuntu安装phantomjs apt-get和下载安装包两种方式

本来想着下载源码进行编译呢,突然发现atp-get这个类似与centos上面yum 的东西。 sudo atp-get install phantomjs成功了,省去了麻烦的解压编译,期间可能还存在依赖的问题,atp-get也都顺手帮忙解决了。ubuntu版本信息: uname -aLinux u...
  • sinat_21302587
  • sinat_21302587
  • 2016-12-12 10:58
  • 14823

tmux安装

tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权。使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机。(该段文字来自于百度文库) 1.安装ncurses-devel...
  • ghuiL
  • ghuiL
  • 2015-07-12 14:30
  • 5401

Linux手动安装TMUX 编译 以及遇到的问题

在用Linux终端执行命令操作时,经常会Ctrl+Alt+t开多个标签进行不同的操作。如果在执行一个操作的同时又需要关注另一个操作的执行结果。让操作执行完弹出一个对话框?发出声音提示操作完成?这些方法都用过,麻烦的是需要在不同的标签之间跳来跳去,而且标签一多就容易忘记哪个标签是做什么的。 通过...
  • alvine008
  • alvine008
  • 2015-08-27 14:57
  • 4472

CentOS下Tmux安装和使用

你是不是经常需要SSH远程登录到Linux服务器?操作一些命令时必须等待它执行完毕,在此期间可不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。 之前解决方案使用Screen,但此项目基本不再开发支持,顾新一代工具Tmux出现光芒。 Tmux介绍: Tmux是BSD实现的Scr...
  • levy_cui
  • levy_cui
  • 2016-06-07 17:10
  • 1049
    个人资料
    • 访问:3235728次
    • 积分:34857
    • 等级:
    • 排名:第149名
    • 原创:357篇
    • 转载:35篇
    • 译文:9篇
    • 评论:733条
    友情链接
    我的偶像
    个人主页
      GitHub
    放松一下
    博客专栏
    最新评论
    版权信息
    去除本页广告
    图片炸弹装填中...

        
    [img=赞一个]http://bpic.588ku.com/element_origin_min_pic/16/12/12/0d96da96cf36505736c09d63832eaac8.jpg[/img]