前言
这两天我突然觉得,一个牛鼻的工程师需要摆脱鼠标的控制,全部用键盘完成自己想做的事情。但是我发现在终端里面使用键盘选中一些东西比较困难,所以问chagpt,他给我的解决办法是使用tmux。下面介绍一下tmux的基本使用
一. Tmux的基本组成
每个session生存在一个终端里面

二.基本语法
1. 创建和杀死一个session
(1) 创建
bash
## yang1 和yang2 表示session的名称, -s 就是session的意思
tmux new -s yang1
tmux new -s yang2
(2) 查看是否创建成功
bash
tmux ls

(3) 删除某个session
bash
tmux kill-session -t yang1

(4) 进入退出某个session
bash
##退出
ctrl + b 之后按d
##进入
tmux attach -t yang2
(5) 在内部删除某个session
bash
exit
2. session内page的增加和删除
(1) 增加
bash
ctrl + b 之后按住c
(2)切换
bash
ctrl + b 之后按住对应标号

(3)删除
这个如果有pane先删除pane, 删除完pane就删除page,删除完page就删除session
bash
ctrl +d
(4) 增加pane
bash
### 增加一行
ctrl + b + "
### 增加一列
ctrl + b + %
(5) pane切换
bash
### 方向键切换
ctrl + b ↑ ↓ ← →
### 按照编号切换
ctrl + b q 可是显示各个pane的编号
趁着标号没消失之前,按住对应的数字,直接进入了

3. 复制模式
(1). 进入
bash
ctrl + b [

(2).退出
bash
q
(3). 翻页
bash
alt + ↑ ↓ 一次翻半页
↑ ↓ 一次翻一行
(4). 查找
bash
ctrl + s
之后输入要搜索的内容
之后ctrl +s 找下一个
ctrl + r 找上一个
按住enter 退出搜索

(5)选中复制
bash
ctrl + space
开始选中,这个选中可以用箭头,可以用ctrl + a , ctrl + e, 可以alt + 箭头
### 复制
alt + w
### 粘贴
ctrl + b ]
(6)进入缓存区
bash
ctrl + b :
输入show-buffer
之后ctrl + b :
输入 save-buffer ~/111.txt
将缓存区内容保存




三、 将buffer和剪切板链接再一起
tmux复制的内容默认是在buffer里面,但是这样只能在终端里面粘贴。我们想让他能够粘贴到任何地方。
1. 配置文件
bash
vim ~/.tmux.conf
bash
set -g set-clipboard on
setw -g mode-keys vi
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -in"
bash
tmux source-file ~/.tmux.conf
2. 相关指令
ctrl + b [ 进入copy模式
space 开始选择
y 结束选择,并退出copy
之后可以在剪切板以及buffer都可以找到复制的东西。
3. 选中变更
由于切换到了vi模式,翻页什么的快捷键发生变哈。
半页上 Ctrl + u
半页下 Ctrl + d
到行首 0
到行尾 $
到第一行(顶部) g
到最后一行(底部) G