Tmux 简单配置使用
Tmux Prefix (prefix)
Tmux 使用 Prefix 以将自身的快捷键与其它应用区分,运行 Tmux 快捷键时首先按下这个 Prefix (默认是 Ctrl-b
组合键),松手后紧接着按下对应操作的快捷键。
比如,如果我想要列出所有的 Tmux 会话(对应快捷键是 s
)需要这样:
- 按下
Ctrl-b
组合键(默认 Prefix ); - 放开
Ctrl-b
; - 按下
s
键。
Tmux 配置文件的默认地址是 ~/.tmux.conf
,每次启动 Tmux 时都会加载该文件。
修改 Prefix( Prefix )
Tmux 的配置未见位置是 ~/.tmux.conf
,修改 Tmux Prefix 首先需要取消绑定原有的的 Prefix ; 再设置新的 Prefix,这里以 Ctrl-w
为例:
unbind C-b
set -g prefix C-w
绑定快捷键
Tmux 快捷键绑定的命令是 bind 快捷键 作用
,即可将“作用”绑定在 Prefix +快捷键
上, 下面这行配置会将“重新加载”配置文件的操作绑定在快捷键 R
上:
bind R source-file ~/.tmux.conf \; display-message "Config reloaded..."
Tmux 特性
Pane(面板)
如果你用过 Vim 之类的编辑器肯定不会对 Pane 概念感到陌生,Tmux 也支持类似的概念, 支持横向和纵向切割面板功能。
功能 | 命令 |
---|---|
水平切割(上下两半) | Prefix + " |
竖直切割(左右) | Prefix + % |
调整面板宽度/高度 | Prefix - 方向键 |
窗口(window)
窗口的层级要高于面板,作用类似于标签页,默认会在终端的底部显示窗口列表。
功能 | 命令 |
---|---|
创建新窗口 | Prefix + c |
重命名窗口 | Prefix + , |
切换到某个窗口 | Prefix + 窗口 ID |
会话(session)
会话的层级更高于窗口,在终端输入 tmux
会创建并进入一个新的会话,你可以使用会话来区分 使用者或者任务。
功能 | 命令 |
---|---|
创建并进入新会话 | tmux |
进入未关闭的会话 | tmux attach 会话名 |
退出但保留当前会话 | Prefix + d |
列出所有会话 | Prefix + s |
重命名当前会话 | Prefix + $ |
类 Vim 的文字选择和复制方式
选中和复制文字
你需要添加以下配置:
# (进入复制模式后)输入 'v' 开始选择
bind-key -t vi-copy v begin-selection
# 将选中文字添加到系统的剪贴板中
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
结对编程
tmux 有个特性,不管多少人连进同一个 tmux 会话,他们看到和操作的都是同一个东西,会话的长宽取决于输出的长款的最小值,因此可以用来进行结对编程练习。
Tmate 与远程会话共享
首先你需要安装 Tmate:
brew install tmate
Ubuntu:
sudo apt-get install software-properties-common && \
sudo add-apt-repository ppa:tmate.io/archive && \
sudo apt-get update && \
sudo apt-get install tmate
输入 tmate
将会创建一个公开的远程会话(会话的底部会出现提示“[tmate] Remote session: ssh [some hash]@ny.tmate.io”),将 ssh 的地址发送给你的朋友就可以分享你的会话了!
Vim 兼容问题
主题冲突问题
如果你跟我一样使用 Vim 作为编辑器,可能同样会遇到输出黑块的问题。解决方案是在 Vim 的配置文件中加入:
if exists('$TMUX')
set term=screen-256color
endif
会话外操作:
tmux new -s <name-of-my-session> 在会话外创建一个新的会话
tmux ls 在会话外获取会话列表
tmux a(attach) -t <name-of-my-session> 在会话外进入会话,不带名字进入第一个会话
tmux kill-session -t <name-of-my-session> 在会话外删除会话
上面的操作是在普通命令行下操作的,所以不用按前缀键。下面的都是在tmux中操作的,所以需要按前缀键,默认是ctrl-b;在tmux中,输入冒号是开启命令行。
基本操作:
? 列出所有快捷键;按q返回
d 脱离当前会话,可暂时返回Shell界面,输入tmux attach能够重新进入之前会话
s 选择并切换会话;在同时开启了多个会话时使用
D 选择要脱离的会话;在同时开启了多个会话时使用
: 进入命令行模式;此时可输入支持的命令,例如kill-server所有tmux会话
[ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出
] 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出
~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
t 显示当前的时间
会话操作:
:new -s <name-of-my-new-session> 进入会话后创建新的会话
s 列出会话,进行选择
:kill-session 删除当前会话
:kill-server 删除所有会话
窗口操作:
c 创建新窗口
& 关闭当前窗口
数字键 切换到指定窗口
p 切换至上一窗口
n 切换至下一窗口
l 前后窗口间互相切换
w 通过窗口列表切换窗口
, 重命名当前窗口,便于识别
. 修改当前窗口编号,相当于重新排序
f 在所有窗口中查找关键词,便于窗口多了切换
面板操作:
“ 将当前面板上下分屏
% 将当前面板左右分屏
x 关闭当前分屏
z tmux 1.8新特性,最大化当前所在面板,重复一遍返回
! 将当前面板置于新窗口,即新建一个窗口,其中仅包含当前面板
Ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
Alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
空格键 可以在默认面板布局中切换,试试就知道了
q 显示面板编号
o 选择当前窗口中下一个面板
方向键 移动光标选择对应面板
{ 向前置换当前面板
} 向后置换当前面板
Alt+o 逆时针旋转当前窗口的面板
Ctrl+o 顺时针旋转当前窗口的面板
Tmux 简单配置使用的更多相关文章
- tmux简单使用
tmux简单使用 Tmux ("Terminal Multiplexer"的简称), 是一款优秀的终端复用软件,类似 GNU screen,但比screen更出色.tmux来自于O ...
- 小丁带你走进git世界一-git简单配置
小丁带你走进git世界一-git简单配置 1.github的简单配置 配置提交代码的信息,例如是谁提交的代码之类的. git config –global user.name BattleHeaer ...
- 以实际的WebGIS例子探讨Nginx的简单配置
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 以实际项目中的一个例子来详细讲解Nginx中的一般配置,其中涉 ...
- CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB,两条命令都可以 systemctl sta ...
- ssm简单配置
MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架. MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获. MyBatis 只使用简单的XML 和注解来配置和映射 ...
- 安装MariaDB和简单配置
1.安装MariaDB 安装命令 yum -y install mariadb mariadb-server 安装完成MariaDB,首先启动MariaDB systemctl start maria ...
- BIND的进程一:DNS简单配置与的主从配置
DNS的简单配置和DNS的主从配置 摘要:DNS(Domain-Name Server) ,DNS的服务起到的作用就是名称解析,在网络通讯来说计算机与计算机是通过IP地址相互通信的, 当是IP地址 ...
- 转-squid介绍及其简单配置
本文原始出处:http://linuxme.blog.51cto.com/1850814/372960 1.Squid是什么? Squid中文权威指南:http://zyan.cc/book/squi ...
- Linux中vim的简单配置
本文主要分享Linux中vim的简单配置 ★配置文件的位置 在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...
随机推荐
- Laravel 事务中使用悲观锁
laravel 提供了方便快捷的数据库事务使用方式,在使用中遇到过几个容易混淆和被误导的地方,这里做个记录,希望哪里写的不对的地方各位大神指点一下 laravel 事务分为手动方式和自动方式. 但如果 ...
- 致第一次安装(yong)小小输入法的你
目录 强大全开放的外挂内置输入平台 支持各种编码 方便的词库维护功能 最温情的输入法 小鹤双拼自定义 本文的题目就参考了百度贴吧「致第一次安装 RIME 的你」,因为最近使用小小输入法,感觉很好用,所 ...
- [转]C# CancellationTokenSource 终止线程
我们在多线程中通常使用一个bool IsExit类似的代码来控制是否线程的运行与终止,其实使用CancellationTokenSource来进行控制更为好用,下面我们将介绍CancellationT ...
- 【leetcode】907. Sum of Subarray Minimums
题目如下: 解题思路:我的想法对于数组中任意一个元素,找出其左右两边最近的小于自己的元素.例如[1,3,2,4,5,1],元素2左边比自己小的元素是1,那么大于自己的区间就是[3],右边的区间就是[4 ...
- AcWing 217. 绿豆蛙的归宿 (概率期望+拓扑排序)打卡
给出一个有向无环的连通图,起点为1,终点为N,每条边都有一个长度. 数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点. 绿豆蛙从起点出发,走向终点. 到达每一个顶点时,如果有K条离 ...
- gdb流程控制(例: 循环打印数组)
参考:https://blog.csdn.net/justlinux2010/article/details/9453151 循环/条件 在gdb的脚本中循环遍历整个哈希表,并且加上判断条件来进行统计 ...
- windows下Mysql5.7表名不区分大小写问题
前言 Windwos文件系统本身是不区分大小写的,但是Linux文件系统是支持大小写的.于是安装在Linux下的Mysql导出到windows下可能因为大小写问题导致错误,因此要开启window下My ...
- mysql定时任务(数据库管理工具and 纯命令行)
1.工具:Navicat 2.通过下列语句l爱查询event是否开启 打开Navicat命令列界面(点击工具可以看到或按F6) 输入下面命令 show variables like '%sche%'; ...
- centos安装virtualbox
参考:http://www.if-not-true-then-false.com/2010/install-virtualbox-with-yum-on-fedora-centos-red-hat-r ...
- PAT_A1033#To Fill or Not to Fill
Source: PAT A1033 To Fill or Not to Fill (25 分) Description: With highways available, driving a car ...