tmux神器

参考: http://wdxtub.com/2016/03/30/tmux-guide/

卢钧轶(cenalulu) http://cenalulu.github.io/linux/tmux/

tmux是一个优秀的终端复用器,通俗一点说就是“终端窗口管理器”

如果本地开一个窗口连接到服务器跑前端程序,那么这个窗口就被占用了,如果需要再看别的程序就需要重新开一个窗口重新连接上服务器很麻烦的啊

如果在服务器上运行tmux,那么本地只需要开一个窗口就可以了

并且

本地的窗口一但断开,本来任务都会断掉,如果使用tmux, 断开后重新登录还可以查看之前的任务

主要的功能还有:

  • 窗口切换,每个窗口里还可以分割面板
  • 配置方便,可以使用脚本
  • 类似vim的双层操作逻辑
  • 复制黏贴缓冲区

安装方式:

sudo apt-get install tmux

在终端输入tmux就可以打开一个新的tmux session

tmux的主要元素分为三层:

  • Session: 一组窗口的集合,通常用来概括同一个任务。
  • Window: 单个可见窗口
  • Pane: 每个窗口的分块

基本操作

tmux所有的操作必须要先使用一个前缀键 (ctrl+b) 进入命令模式,或者说进入控制台

信息查询

  • tmux list-keys 列出所有可以的快捷键和其运行的tmux
  • tmux list-commands 列出所有的tmux命令及其参数
  • tmux info 列出所有的session, window,pane, 运行的进程号

窗口控制

  • session会话: 是一个特定的终端组合,输入tmux就可以打开一个新的session

    • tmux new -s session_name
    • tmux attach -t session_name 重新开启session
    • tmux switch -t session_name 转换到session
    • tmux ls、list-sessions列出现有的所有session
    • tmux detach 离开当前开启的session
    • tmux kill-server 关闭所有session
  • window窗口:  session中可以有不同的window (但是同时只能看到一个window)
    • tmux new-window创建一个新的window
    • tmux list-windows
    • tmux select-window -t:0-9  根据索引转到该window
    • tmux rename-windwo 重命名当前的window
  • pane面板: window中可以有不同的pane(可以把window分成不同的部分)
    • tmux split-window 将window垂直划分为两个pane
    • tmux split-window -h 将window水平划分为两个pane

更加重用的是tmux中直接通过默认前缀 ctrl+b 只有输入对应命令来操作

  • 基本操作

    • ? 列出所有快捷键,按q返回
    • d 脱离当前会话    D 选择要脱离的会话     s 选择并切换会话   :进入命令行模式,比如kill-server关闭所有tmux会话
    • [ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认 q/Esc退出
    • ] 进入粘贴模式,粘贴之前复制的内容, q/Esc退出
  • 窗口操作
    • c 创建新窗口    & 关闭当前窗口   [0-9] 数字键切换到指定窗口   p 切换到上一个窗口  n 切换到下一个窗口  l 前后窗口间互相切换  w 通过窗口列表切换窗口
    • , 重命名当前窗口     . 修改当前窗口编号   f 在所有窗口中查找关键词
  • 面板操作
    • " 上下分屏(可以改成 - )     % 左右分屏 (可以改成 | )
    • x 关闭当前分屏    !将当前面板提出置于新窗口
    • ctrl+方向键 以1个单位格为单位调整当前面板大小     alt+方向键 以5个单位格
    • q 显示面板编号  o 选择当前窗口中下一个面板  方向键 移动光标选择对应面板
    • { 向前置换当前面板   }  向后置换当前面板

配置

修改  ~/.tmux.conf即可

#-- base --#
set -g default-terminal "screen-256color"
set -g display-time 3000
set -g history-limit 10000
set -g base-index 1
set -g pane-base-index 1
set -s escape-time 0
set -g mouse on
#-- bindkeys --#
# split windows like vim.  - Note: vim‘s definition of a horizontal/vertical split is reversed from tmux‘s
unbind s
bind s split-window -v
bind S split-window -v -l 40
bind v split-window -h
bind V split-window -h -l 120
# navigate panes with hjkl
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# key bindings for horizontal and vertical panes
unbind %
bind | split-window -h      # 使用|竖屏,方便分屏
unbind ‘"‘
bind - split-window -v      # 使用-横屏,方便分屏
# swap panes
bind ^u swapp -U
bind ^d swapp -D
bind q killp
bind ^e last
unbind r
bind r source-file ~/.tmux.conf \; display "Configuration Reloaded!"
#-- statusbar --#
set -g status-justify centre
set -g status-left "#[fg=red]s#S:w#I.p#P#[default]"
set -g status-right ‘[#(whoami)#(date +" %m-%d %H:%M ")]‘
set -g status-left-attr bright
set -g status-left-length 120
set -g status-right-length 120
set -g status-utf8 on
set -g status-interval 1
set -g visual-activity on
setw -g monitor-activity on
setw -g automatic-rename off
# default statusbar colors
set -g status-bg colour235 #base02
set -g status-fg colour136 #yellow
set -g status-attr default
# default window title colors
setw -g window-status-fg colour244
setw -g window-status-bg default
#setw -g window-status-attr dim
# active window title colors
setw -g window-status-current-fg colour166 #orange
setw -g window-status-current-bg default
#setw -g window-status-current-attr bright
# window title string (uses statusbar variables)
set -g set-titles-string ‘#T‘
set -g status-justify "centre"
set -g window-status-format ‘#I #W‘
set -g window-status-current-format ‘ #I #W ‘
# pane border
set -g pane-active-border-fg ‘#55ff55‘
set -g pane-border-fg ‘#555555‘
# message text
set -g message-bg colour235 #base02
set -g message-fg colour166 #orange
# pane number display
set -g display-panes-active-colour colour33 #blue
set -g display-panes-colour colour166 #orange
# clock
setw -g clock-mode-colour colour64 #green
# 修改进入命令模式按键
# remap prefix to Control + a
# set -g prefix C-a
# unbind C-b
# bind C-a send-prefix

原文地址:https://www.cnblogs.com/lainey/p/8593110.html

时间: 2024-10-19 20:38:33

tmux神器的相关文章

安利一个神器:Tmux

对于程序员来说,一个好用且高效的软件工具就如同加持了神技的游戏角色.下面就给大家介绍一个神器 Tmux 以及个人的使用总结. 一.我所认识的 Tmux 在工作中,我把 tmux 当作终端会话管理器来使用,效果是:当前 shell 关闭后,只要不重启服务器,在 Tmux 会话里运行的指令就不会退出,对于运维及研发来讲,此工具掌握后,有助于提高工作效率!而且,逼格也不低哦. 二.Tmux会话 一个 Tmux 会话中可以包含多个窗口.会话功能非常简单易用,例如可以为一个特定的项目创建一个专用的 Tmu

tmux:终端复用神器

一.简介与安装 今天无意间从同事那里知道有 tmux 这种神器,tmux(terminal multiplexer)是Linux上的终端复用神器,可从一个屏幕上管理多个终端(准确说是伪终端).使用该工具,用户可以连接或断开会话,而保持终端在后台运行.类似的工具还有screen,今天只介绍tmux相关操作. tmux的结构包括会话(session).窗口(window).窗格(pane)三部分,会话实质是伪终端的集合,每个窗格表示一个伪终端,多个窗格展现在一个屏幕上,这一屏幕就叫窗口. sessi

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

原文参考:https://www.cnblogs.com/kevingrace/p/6496899.html Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远程主机并运行tmux后,在其中可以开启多个控制台而无需再“浪费”多余的终端来连接这台远程主机.是BSD实现的Screen替代品,相对于Screen,它更加先进:支持屏幕切分,而且具备丰富的命令行参数,使其可以灵活.动态的进行各种布局和操作.对于Tm

Linux终端复用神器tmux简单总结

创建命名Tmux会话(tmux new -s session_name)tmux new -s session_name chongchong 暂退Tmux会话(Ctrl + a d)直接关窗口 返回Tmux会话()tmux attach-session -t chongchong 获取Tmux会话列表(tmux ls) 关键快捷键:按ctrl + b组合键,然后松开再单独按c键 在tmux里新建一个tmux会话 再单独按数字0键 在窗口间切换(切换到0号窗口) 再单独按d键 退出会话,还能再回

终端复用神器tmux入门

简介 tmux 的设计哲学与vim类似,也有命令模式和非命令模式. 基本的结构是: 服务 sessions windows panels 服务一般是创建会话的时候就自动创建好了,一个服务包含多个会话,一个会话可以放置多个窗口,一个窗口可以进行分屏产生多个的panel. Install apt-get install tmux 速查链接 link 常用命令 # 新增 $ tmux # OR $ tmux new -s <your_session_name> $ tmux new -s train

28 个 Unix/Linux 的命令行神器

28 个 Unix/Linux 的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这 些工具都非常不错,希望每个人都知道.本篇文章还在Hacker News上被讨论,你可以过去看看.我以作者的原文中加入了官网链接和一些说明. dstat & sar iostat, vmstat, ifstat 三合一的工具,用来查看系统性能(我在<性能调优攻略>中提到过那三个

28个Unix/Linux的命令行神器

下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道.本篇文章还在Hacker News上被讨论,你可以过去看看.我以作者的原文中加入了官网链接和一些说明. dstat & sar iostat, vmstat, ifstat 三合一的工具,用来查看系统性能(我在<性能调优攻略>中提到过那三个xxstat工具). 官方网站:http://d

28个Unix/Linux的命令行神器(转载)

下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道.本篇文章还在Hacker News上被讨论,你可以过去看看.我以作者的原文中加入了官网链接和一些说明. dstat & sar iostat, vmstat, ifstat 三合一的工具,用来查看系统性能(我在<性能调优攻略>中提到过那三个xxstat工具). 官方网站:http://d

【转】tmux入门指南

按照官方说明,tmux是一个终端复用软件.我接触tmux也就是这几天的事情,但已经发现其强大.作为一个文艺程序员,有必要向大家分享一下,这么好的东东怎敢藏着掖着. 先用起来再说 假设你已经装好tmux,那么在终端中直接输入tmux并回车,就进入了tmux,退出的话大家都懂的,输入exit或C-d即可.进入tmux后你在终端中爱干嘛就干嘛,那就有人会问了,在进入tmux之前已经有终端了,那还折腾这个干啥?别急,tmux的作用在于终端复用,也就是说可以把一个终端变成多个终端.在tmux中按C-b c