提高终端生产力神器 – tmux

tmux github

  • tmux 是一种终端多路复用器:它允许从单个屏幕创建、访问和控制多个终端
  • tmux 可以从屏幕上分离,并继续在后台运行,然后稍后重新连接

一键安装

centos 系列可以直接用 yum

debian 系列可以直接用 apt-get

yum install -y tmux 
apt-get install -y tmux

编译安装

  • centos 7 使用 yum 安装的版本会比较低,只有 1.8
  • 编译需要用到 libevent,虽然 centos 7 的源使用的也是 2.x 的版本,还是会出现 configure: error: "libevent not found",这里就先提前编译 libevent 2.1.12-stable

编译 libevent

tar xf libevent-2.1.12-stable.tar.gz
cd libevent-2.1.12-stable/
./configure --disable-openssl
make && make install

编译 tmux

编译 tmux 还需要用到 ncurses

yum install -y ncurses-devel gcc make
tar xf tmux-3.3.tar.gz
cd tmux-3.3
./configure
make && make install

验证 tmux 是不是可用

tmux -V

如果出现报错:tmux: error while loading shared libraries: libevent_core-2.1.so.7: cannot open shared object file: No such file or directory ,那是因为我们是编译出来的,不在系统的默认 lib 库的路径下,做一个软连接就好了

ln -s /usr/local/lib/libevent_core-2.1.so.7.0.1 /lib64/libevent_core-2.1.so.7

tmux 必知必会

  • session 通过 tmux 命令创建的一个会话,里面可以包含多个 windows 和 pane,是一个大的集合
  • windows当成浏览器的 tab 来理解,一个浏览器有多个 tab 页面
  • pane窗格,在一个 windows 里面可以划分多个窗格,可以水平拆分,可以垂直拆分
提高终端生产力神器 - tmux

替换 tmux 皮肤

  • 为什么要高版本的 tmux,是因为这里要用的皮肤,要求 tmux 的版本不能低于 2.4 ,所以就直接装了 3.3
  • gpakosz/.tmux
git clone https://github.com/gpakosz/.tmux.git
cp .tmux/.tmux.conf ~/
cp .tmux/.tmux.conf.local ~/

开启鼠标模式

~/.tmux.conf 文件里面增加下面的内容就可以了,如果已经开过会话了,需要把会话都关了才会生效,如果需要鼠标模式,可以提前配置好

set -g mouse on

在鼠标模式下,可以在窗格通过长按右键来选择一些指令,指令高亮时,松开右键来实现选择的效果,比如:

  • Horizontal Split垂直拆分
  • Vertical Split水平拆分
  • Swap Up水平拆分为上下窗格互换,垂直拆分为左右窗格互换
  • Kill杀死当前窗格
  • 也可以在 windows 名称和 session 名称的位置右键来达到重命名和新建的效果

session 常用命令

新建 session

# 新建会话,不指定名称的情况下,会话名称是纯数字,从 0 开始
tmux
# 新建一个名为 study 的会话
tmux new -s study

查看当前有哪些 session

tmux ls

进入指定的 session

tmux a -t study

关闭 session

# 关闭指定的 session
tmux kill-session -t study
# 关闭所有 session
tmux kill-server

常用快捷键

session 内常用快捷键

tmux 的快捷键前缀是 ctrl + b ,要先按好前缀,然后再按指令,同时按是不生效的

前缀指令用途
ctrl + b?显示快捷键的帮助文档
ctrl + bd断开当前 session
可以通过 tmux a -s 重新连接
ctrl + bD选择需要断开的 session
ctrl + bs显示并切换到指定的 session
ctrl + b:命令行模式,可以直接使用 tmux 的命令
比如在命令行模式输入 ls 等同于在外面输入了 tmux ls

windows 常用快捷键

这个 windowstmux 里面的 windows

前缀指令用途
ctrl + bc新建 windows
ctrl + b&关闭当前 windows,需要输入 y 或 n 来确认
ctrl + b0-9切换到指定编号的 windows
ctrl + bw打开 windows 列表
ctrl + b,重命名当前 windows 名称
ctrl + b.修改当前 windows 编号

pane 常用快捷键

前缀指令用途
ctrl + b水平分割,下方新建窗格
ctrl + b%垂直切割,右侧新建窗格
ctrl + bx关闭当前窗格,需要输入 y 或 n 来确认
ctrl + bz当前窗格最大化
再按一次当前快捷键后恢复到之前的样子
ctrl + b!两个以上窗格时,将当前窗格移动到新 windows 打开
ctrl + b;切换到最后一次使用的窗格
ctrl + bq显示窗格编号,在编号消失前按对应的数字编号可以切换到指定的窗格
ctrl + b{当前窗格编号向前一位
如果当前窗格是第一位则向前变成最后一位,其他窗格不变,窗格编号也会互换
ctrl + b}同上,表示当前窗格编号向后一位
ctrl + bctrl + o顺时针旋转所有窗格位置
ctrl + b方向键切换到方向键对应的窗格
ctrl + bo根据窗格编号切换到下一个窗格
ctrl + bt显示时钟,单击后消失

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/9998

(0)
凯影的头像凯影
上一篇 2023年11月9日 下午5:14
下一篇 2023年11月10日 下午3:49

相关推荐

  • Nginx 代理多个服务器(多个server方式)

    1.介绍 1.1 背景介绍 如果每台linux服务器只运行了一个小网站,那么人气低,流量小的草根站长需要承担高额的服务器租赁费,也造成了硬件资源浪费。 虚拟主机就是将一台服务器分割成多个“虚拟服务器”,每个站点使用各自的硬盘空间,由于省资源,省钱,众多网站都使用虚拟主机来部署网站。 虚拟主机的概念就是在web服务里的一个独立的网站站点,这个站点对应独立的域名…

    2022年6月23日
    1.9K00
  • 安装linux/Centos系统出现An Unknown Error Has Occurred报错原因和解决方法

    今天在给一个客户重装系统的时候出现: An Unknown Error Has OccurredThis program has encountered an unknown error. You may report the buy below or quit the program. This program has encountered an unk…

    2024年1月22日
    2.2K00
  • Linux/windows禁止ping和取消禁止ping的方法

    LINUX: Linux默认是允许Ping响应的,系统是否允许Ping由内核参数决定。 具体的配置方法如下: 内核参数设置 1、允许PING设置 1)临时允许PING操作的命令为: #echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all 2)永久允许PING配置方法 /etc/sysctl.conf中增加一行 …

    2022年6月13日
    3.1K00
  • Linux 系统硬盘MBR转换为GPT格式并扩容

    问题描述之前创建了一台ubuntu16的服务器虚机,挂载了一块2T的云数据盘,当时文件系统做的是MBR(dos)格式,最近因为存量数据增加,数据盘空间不足就在云平台将2T的数据盘扩容成了4T,结果进入虚机扩容的时候报错MBR格式的硬盘最大支持2T,剩余的空间将不会用到。需要将硬盘转化为GPT分区格式,来支持2T以上空间的使用才行,但是转化硬盘格式又怕数据丢失…

    2023年11月23日
    1.6K00
  • Win10远程桌面已失去连接

    根据用户的反馈,他们经常会遇到Win10远程桌面频繁失去连接,若您遇到Win10远程桌面频繁失去连接,您可以通过以下3种方法来解决远程桌面经常失去连接的问题。 方法1. Ping IP地址 如果经常使用远程桌面,则不会出现此问题。当远程桌面缩小到任务栏成为后台应用程序,而另一个程序成为主程序使用时,则会容易出现远程桌面已失去连接的情况。因此,您可以通过Pin…

    2023年11月21日
    1.3K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信