【学习点滴】终端复用利器-tmux

    平时在用终端连接linux机器时,常出现因为太长时间没有操作或网络问题导致连接断开,之前的操作和打开的路径丢失的现象,在知乎上看到这个介绍:

  • 常用操作:

新建会话:tmux new -s <name>

查看当前所有会话:tmux ls                        //ls即 list-session

分离会话:tmux detach                 //就回到正常的终端连接界面了

接入会话:tmux attach -t <name>

切换会话:tmux switch -t <name>

 

窗口操作:tmux在每个会话中可以打开多个窗口,或是将当前窗口分为多个窗格,类似vim的vsp,sp操作

新建窗口:tmux new-window -n <window-name>                   或ctrl+b c  并 重命名  ctrl+b ,

列出所有窗口:ctrl+b w

关闭当前窗口:ctrl+b &

 

窗格操作

水平方向创建窗格:  ctrl+b % 或   tmux split-window

垂直方向创建窗格:  ctrl+b  " 或   tmux split-window -h

切换窗格 :            ctrl+b 上下左右

关闭当前窗格:      ctrl+b x

 

 

退出tmux直接命令行输入 exit 即可,下次用户登录机器时使用tmux ls 可以看到之前的会话还在,打开的路径啥的也都还在

 

当然在实际使用中,可以通过修改配置文件来修改快捷键和调整显示配色等

如:

# Send prefix
set-option -g prefix C-a 
unbind-key C-a 
bind-key C-a send-prefix

# Use Alt-arrow keys to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# Shift arrow to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window

# Mouse mode
#set -g mouse on


# Set easier window split keys
bind-key v split-window -h
bind-key h split-window -v

# Easy config reload
bind-key r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded"

#set color
set -g default-terminal "screen-256color"

在用户目录下创建 .tmux.conf文件即可

Send prefix
把prefix的ctrl+b变为了ctrl+a,因为这样按起来方便些。基本上用tmux的都改了这个。

Use Alt-arrow keys to switch panes
不用按prefix,直接用alt+箭头在pane之间switch。实际用过之后才发现真是太方便了!

Shift arrow to switch windows
不用按prefix,直接用shift+箭头在window之间switch。太方便了!

Mouse mode
开启鼠标模式。用鼠标就能切换window,pane,还能调整pane的大小,方便!

Set easier window split keys
这一部分是用来更方便切分pane的。prefix + v 代表竖着切,prefix + h 代表横着切。比起默认的切割方法不仅直观而且方便。

Easy config reload
下一次如果修改了.tmux.conf的设置的话,不用关掉tmux。直接用prefix+r,就能重新加载设置。


 

tips:

  • 安装

Ubuntu下: sudo apt-get install tmux

这是以root身份安装的,当然也可以登录用户安装。

可见 https://blog.csdn.net/wildridder/article/details/97154253

 

  • vim和tmux主题颜色不一致问题的解决
$ vim ~/.tmux.conf 
set -g default-terminal "screen-256color"
$ vim~/.bashrc 中设置 
export TERM="linux"
$ vim ~/.vimrc :
set term=screen

 

 

参考链接:

http://www.ruanyifeng.com/blog/2019/10/tmux.html

https://www.cnblogs.com/liuguanglin/p/9290345.html

https://www.jianshu.com/p/fd3bbdba9dc9


版权声明:本文为qq_41572503原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。