tmux使用及个性化配置

1. tmux介绍

  • tmux是一个优秀的终端复用软件,split窗口。可以在一个terminal下打开多个终端。
  • 即使非正常掉线,也能保证当前的任务运行,这一点对于远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失。SSH重新连接以后,就可以直接回到原来的工作环境,不但提高了工作效率,还降低了风险,增加了安全性。
  • tmux完全使用键盘控制窗口,实现窗口的切换功能。

2. 安装

sudo apt-get install tmux
tmux # 打开tmux终端
  • 1
  • 2

3. 会话,窗口,面板

根据tmux的定义,在开启了tmux服务后,会首先创建一个会话,而这个会话则会首先创建一个窗口,其中仅包含一个面板;也就是说,这里看到的所谓终端控制台应该称作tmux的一个面板, 虽然其使用方法与终端控制台完全相同。

tmux使用C/S模型构建,主要包括以下单元模块:

  • server服务器。输入tmux命令时就开启了一个服务器。
  • session会话。一个服务器可以包含多个会话
  • window窗口。一个会话可以包含多个窗口。
  • pane面板。一个窗口可以包含多个面板。

4. 效果图


5. 快捷键操作

  • C-b ? 显示快捷键帮助
  • C-b C-o 调换窗口位置,类似与vim 里的C-w
  • C-b 空格键 采用下一个内置布局
  • C-b ! 把当前窗口变为新窗口
  • C-b “ 横向分隔窗口
  • C-b % 纵向分隔窗口
  • C-b q 显示分隔窗口的编号
  • C-b o 跳到下一个分隔窗口
  • C-b 上下键 上一个及下一个分隔窗口
  • C-b C-方向键 调整分隔窗口大小
  • C-b c 创建新窗口
  • C-b 0~9 选择几号窗口
  • C-b c 创建新窗口
  • C-b n 选择下一个窗口
  • C-b l 切换到最后使用的窗口
  • C-b p 选择前一个窗口
  • C-b w 以菜单方式显示及选择窗口
  • C-b t 显示时钟
  • C-b ; 切换到最后一个使用的面板
  • C-b x 关闭面板
  • C-b & 关闭窗口
  • C-b s 以菜单方式显示和选择会话
  • C-b d 退出tumx,并保存当前会话,这时,tmux仍在后台运行,可以通过tmux attach进入 到指定的会话

6. 配置

tmux的系统级配置文件为/etc/tmux.conf,用户级配置文件为~/.tmux.conf。配置文件实际上就是tmux的命令集合,也就是说每行配置均可在进入命令行模式后输入生效。

6.1 设置前缀为Ctrl + a(不建议这么做,vim中Ctrl+a已经被定义)

set -g prefix C-a
  • 1

6.2 解除Ctrl+b 与前缀的对应关系

unbind C-b
  • 1

6.3 使tmux生效

  1. 重启tmux起效
  2. 或者先按C+b,然后输入,进入命令行模式,在命令行模式下输入:
    source-file ~/.tmux.conf
    
    • 1

6.4 将Ctrl + r 设置为加载配置文件,并显示”Refleshed configure!”信息

bind C-r source-file ~/.tmux.conf \; display "Refleshed Configure!"
  • 1

6.5 将切换窗口设置成vim模式

bind-key k select-pane -U # up
bind-key j select-pane -D # down
bind-key h select-pane -L # left
bind-key l select-pane -R # right
  • 1
  • 2
  • 3
  • 4

上面的最后一条语句会更改C-a l的功能,我挺喜欢这个功能的,因为我们很时候都是在两个窗 口或这两个面板中切换,所以我又加入如下语句

bind-key C-l select-window -l
  • 1

现在我的l键可不能随便按了,Ctrl+a l是切换面板,Ctrl+x Ctrl+l切换窗口,Ctrl+l清屏。

6.6 复制模式copy-mode

  1. 前缀 [ 进入复制模式
  2. space 开始复制,移动光标选择复制区域
  3. Enter 复制并退出copy-mode。
  4. 将光标移动到指定位置,按 前缀 ] 粘贴

如果把tmux比作vim的话,那么我们大部分时间都是处于编辑模式,我们复制的时候可不可以像vim一样移动呢?只需要在配置文件中加入如下行即可。

setw -g mode-keys vi #copy-mode 将快捷键设置为vi 模式
  • 1

6.7 会话

  • C-x s 以菜单的方式查看并选择会话
  • C-x :new-session 新建一个会话
  • C-x d 退出并保存会话

终端运行 tmux attach 返回会话

6.8 命名会话

  • tmux new -s session
  • tmux new -s session -d #在后台建立会话
  • tmux ls #列出会话
  • tmux attach -t session #进入某个会话

6.9 使当前pane最大化

  • 前缀 z tmux 1.8新特性,最大化当前所在面板
  • 前缀 z 返回原来状态

6.10 滚屏

set-window-option -g mode-mouse on # (setw其实是set-window-option的别名)
  • 1

6.11 用鼠标切换窗口/调节分屏大小

setw -g mouse-resize-pane on # 开启用鼠标拖动调节pane的大小(拖动位置是pane之间的分隔线)
setw -g mouse-select-pane on # 开启用鼠标点击pane来激活该pane
setw -g mouse-select-window on # 开启用鼠标点击来切换活动window(点击位置是状态栏的窗口名称)
setw -g mode-mouse on # 开启window/pane里面的鼠标支持(也即可以用鼠标滚轮回滚显示窗口内容,此时还可以用鼠标选取文本)
  • 1
  • 2
  • 3
  • 4

6.12 保存Tmux会话

Tmux 会话功能它有一点不好,如果机器重启,那么 Tmux 会话就消失了,包括打开的各个窗口、窗格布局、以及其中跑的程序等所有东东。Tmux ResurrectTmux Continuum 这两个 Tmux 插件正是因此而生的。

Tmux Resurrect

Tmux Resurrect 能够备份Tmux会话的各种细节,包括所有会话、窗口、窗格以及它们的顺序,每个窗格的当前工作目录,精确的窗格布局,活动及替代的会话和窗口,窗口聚焦,活动窗格,窗格中运行的程序等等,非常贴心。

安装 Tmux Resurrect

% mkdir ~/.tmux
% cd ~/.tmux
% git clone https://github.com/tmux-plugins/tmux-resurrect.git
  • 1
  • 2
  • 3

官方推荐通过 Tmux 插件管理器来安装,如果你需要安装多个插件,不妨自行尝试。然后在~/.tmux.conf 中添加下列内容:

run-shell ~/.tmux/tmux-resurrect/resurrect.tmux
  • 1

保存后,重载 Tmux 配置:

% tmux source-file ~/.tmux.conf
  • 1

现在,要保存 Tmux 会话,我们只要按 前缀键 + Ctrl-s 就可以了。此时,Tmux 状态栏会显示“Saving …”字样,完毕后会提示 Tmux 环境已保存。

Tmux Resurrect 会将 Tmux 会话的详细信息以文本文件形式保存到 ~/.tmux/resurrect 目录。

还原则按 前缀键 + Ctrl-r 即可。

Tmux Continuum(推荐)

Tmux Resurrect 工作很好,只是备份和还原都是手动完成。而 Tmux Continuum 更进一步,它将 Tmux 会话的保存及还原自动化,定时备份,然后在 Tmux 启动时还原。

Tmux Continuum 安装:

% cd ~/.tmux
% git clone https://github.com/tmux-plugins/tmux-continuum.git
  • 1
  • 2

接着,将以下内容添加到 ~/.tmux.conf

run-shell ~/.tmux/tmux-continuum/continuum.tmux
  • 1

Tmux Continuum 默认每隔 15 分钟备份一次,如果你觉得频率过高,可以设置为 1 小时一次:

set -g @continuum-save-interval ‘60‘
  • 1

同样,需要重载 Tmux 配置 tmux source-file ~/.tmux.conf

需要注意的是,使用这两个 Tmux 插件要求 Tmux 是 1.9 及以上版本,如果不符合要求,赶紧升级吧,相信你会觉得这会非常值得。

6.13 启动与关闭服务器

tmux # 启动
tmux kill-server # 关闭
  • 1
  • 2

6.14 进入和退出会话

tmux attach
前缀 d # 或者 前缀 C-z
  • 1
  • 2

6.15 查看版本

tmux -V
  • 1


【完】

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://www.cnblogs.com/captainbed

原文地址:https://www.cnblogs.com/djuwcnhwbx/p/10162018.html

时间: 2024-10-11 08:35:39

tmux使用及个性化配置的相关文章

ThinkPHP配置数据库连接公共文件与项目个性化配置合并

因为整个网站的所有应用(项目)都需要进行数据库连接,如果在每个项目的配置文件里都要单独设置.以后如果数据库连接信息修改了的话,得一个一个去修改配置文件,这样很不适合懒人.因为近墨者注意到ThinkPHP的项目配置文件是数组形式的,我们可以通过合并数组的方式来解决这一问题.首先在网站根目录新建一名为config.inc.php的文件,把数据库配置参数写入数组 <?php return array( 'DB_TYPE'=>'mysql', 'DB_HOST'=>'localhost', 'D

MyEclipse个性化配置

转载自:http://blog.csdn.net/chen_zw/article/details/18728529 MyEclipse个性化配置 1.修改项目文件默认编码 Note:myEclipse默认的编码是GBK, 也就是未设置编码格式的文件都默认使用GBK进行编码, 而更糟糕的是JSP.JavaScriptt默认编码竟然是ISO-8859-1,我们知道ISO-8859-1是不支持中文字符的,所以我们必须修改项目文件的默认编码.         步骤一.修改缺省默认编码:[window]-

CentOS 7 个性化配置指南

博客原文地址:CentOS 7 个性化配置指南 - Wind Spirit 0x00 前言 该教程主要安装了如下软件包 iptables MySQL PHP PHP 相关模块 Nginx 主要配置实现了以下功能 修改软件源 修改 PS1,更改配色 SSH 每隔 30 秒发送一个心跳包 修改 iptables 规则,开放端口 修改 MySQL 密码 修改 PHP-FPM 的工作模式 使 Nginx 支持解析 .php 文件 大部分软件的配置文件被修改后需要重启进程才能应用更改 为了配置方便我个人习

notepad++之个性化配置

在Linux下,喜欢用vi做文件编辑(vim反倒没怎么用).在Windows系统下,用得最多的则是notepad++.开源大法好.. 之所以选择notepad++,是因为其不会强制你命名并保存文件,你关闭程序后文件内容不会丢失,下次打开时文件内容还在.(重要文本的话建议还是保存一下,避免软件崩溃故障) 一句话,notepad++非常适合用来编辑临时文本 用久了之后,发现notepad++主题啥的有点丑,于是开始琢磨怎么个性化设置一下.以下是我常用的个性化配置选项 先来个界面图.可以看到,我的主题

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

#介绍tmux是一个优秀的终端复用软件,即使非正常掉线,也能保证当前的任务运行,这一点对于 远程SSH访问特别有用,网络不好的情况下仍然能保证工作现场不丢失!此外,tmux完全使用键盘 控制窗口,实现窗口的切换功能.简单地说,tmux对于我主要有两个功能(这应该也是tmux的主要功能):split窗口.可以在一个terminal下打开多个终端,也可以对当前屏幕进行各种split,即可以 同时打开多个显示范围更小的终端.在使用SSH的环境下,避免网络不稳定,导致工作现场的丢失.想象以下场景, 你在

VIM之个性化配置 .vimrc

贴一个自己常用的vim配置文件,个人感觉这些配置不算臃肿,对于运维已经基本够用了. set shortmess=atI syntax enable syntax on "设置语法高亮 set nu set ruler set autoindent "设置自动缩进 set nocompatible set magic set confirm set history=1000 set cursorline highlight Comment ctermfg=lightblue guifg=

SNF快速开发平台之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

一.个性配置-首页:可以进行拖动保存配置,下次登录时就会按配置的进行加载 二.个人配置页面 7种菜单用户可自定义配置,和预览效果 10种皮肤自定义配置,和预览效果 皮肤和菜单可以随意组合-部分截图: 作者:王春天 2014-12-02 作者Blog:http://www.cnblogs.com/spring_wang 原文:http://www.cnblogs.com/spring_wang/p/4138617.html 如果觉得还不错,欢迎转载.

Windows 7个性化配置,关闭Win7动画效果,设置窗口背景为“ 豆绿色”

减少眼睛疲劳配色(豆绿色): RGB:199, 237, 204,颜色名称:#C7EDCC 1.任务栏设置 2.关闭Win7动画效果 控制面板 -> 轻松访问 -> 优化视频显示 3.去掉窗口阴影 右键单击桌面“计算机” --> “属性” --> “高级系统设置” --> “高级” --> 选择“性能”的“设置” --> 弹出“性能选项”窗口 效果如下图所示: (不勾选 “在窗口下显示阴影”) 4.设置窗口背景为“ 豆绿色” 右键单击“桌面” --> “个性

cygwin个性化配置

http://blog.cong.co/cygwin.html#%E5%AE%9A%E4%B9%89%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F配置 cygwin 中的服务程序 [引用] [http://www.cnblogs.com/clarkchen/archive/2011/02/21/1960217.html] 配置 apache httpd2 服务 配置 proftpd 服务 配置应用程序 配置rxvt 定制特色的提示符 定义环境变量 bash配置文件 ~/