打造酷炫终端(二)——Tmux 配置

发布于 6 天前  25 次阅读


打造酷炫终端(二)——Tmux 配置

Tmux 的安装与使用

Tmux 主要有三个功能(按重要性排序):

  1. 保护现场:只要在 Tmux 中执行命令或者编译某段代码,无论是怎样的情况导致终端关闭,重新登录连接 Tmux 后,任务依然继续或者已经完成。无论是断电或断网,只要远程服务器没有关闭,tmux 中的任务依然运行。 因此,保护现场是 Tmux 最为重要的一个特性,它在 SSH 连接远程服务器时,为用户提供了无比重要的作用。
  2. 极简分屏:传统的终端软件分屏仅仅是单纯地多开软件,不会进入此时的服务器,也不会进入分屏时的目录。 Tmux 的分屏仅仅需要简单的快捷键就能克服上面的所有缺点。
  3. 会话共享:用于教学。两台不同的计算机连接到同一个会话, Tmux 会把服务器的操作展示出来。

对我来说,第一个功能最重要,第二个功能 VScode 里都能实现

安装 tmux

image-20230125182228612

image-20230125182255031

使用 tmux

推荐 阮一峰的Tmux教程Tmux快捷键速查表

新手需要弄清楚 session, windowpane 三个概念,

Tmux简明教程| Dennis' Blog

窗口拆分

image-20230125185447003

image-20230125185825742

切换窗口

image-20230125190843753

两个终端产生了神奇的同步效果

image-20230125191139526

使用 oh-my-tmux 配置

Oh-my-Tmux 是 Tmux 的配置增强补丁和外观美化的补丁。提供了更人性化的操作,传送门

按照上面的教程配置后使用下面的命令让它生效:

tmux source-file ~/.tmux.conf

默认效果如下,

image-20230125195040075

是不是觉得与广告图片不符,为什么下面不是箭头形状呢?

找了好久,原来这个东西叫做 PowerlineNerd Fonts 可以支持

Powerline 的仓库:https://github.com/ryanoasis/powerline-extra-symbols

开启方法如下,我根据上面仓库的 Unicode 代码替换了下 Powerline 的样式

image-20230125233906994

效果如下:

image-20230125201627281

如果发现 tmux 下不支持 256 色,auto-suggestions 插件看起来就会出问题,可以采用下面的方法,传送门

image-20230125234435328

image-20230125214943147

配置修改

为了方便,可以增添如下配置:

# 新建窗口用父亲的工作目录
bind-key c new-window -c "#{pane_current_path}"
bind-key % split-window -h -c "#{pane_current_path}"
bind-key '"' split-window -c "#{pane_current_path}"

TPM 插件管理

oh my tmux 自动集成了 TPM,可以方便的安装 tmux 插件,但使用方法和官方 TPM 插件略有不同

添加重启恢复插件,如果没有这插件,我 WSL2 的 tmux 拿来有何用?

# 重启恢复插件
set -g @plugin 'tmux-plugins/tmux-resurrect'

效果

image-20230125204353663

image-20230125205858725

image-20230125215655307

image-20230126152934950

image-20230126181618567

炫酷的效果可以美化 3 层:

  1. 自己用的终端软件可以美化

  2. shell 可以能美化

  3. tmux 可以美化

此外 nvim 还可以美化😇

Reference

https://github.com/gpakosz/.tmux

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

https://gist.github.com/ryerh/14b7c24dfd623ef8edc7

https://github.com/ryanoasis/powerline-extra-symbols

https://unix.stackexchange.com/questions/1045/getting-256-colors-to-work-in-tmux

https://glitchbone.github.io/vscode-base16-term/#/ (VScode 终端主题颜色)

Shell Configures

等有时间和需求的时候再来开第三章,再来折腾和配置 nvim 吧


昨日的月光悄然退场,曦阳已经渐亮