目录

Linux终端美化指南

概述

为了使得Linux终端更加的好用,我们安装对应的优化软件,来达到对应的目的:

  1. Zsh
  2. Tmux
  3. Dracula Theme

Zsh

安装

1
2
# ubuntu
sudo apt install zsh

安装oh-my-zsh

由于zsh安装、配置都较为复杂,因此出现了oh-my-zsh项目,来快速配置zsh。

1
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

此外,我们还可以安装两个经常使用的插件:

语法高亮插件

切换到omz在的目录:

1
cd ~/.oh-my-zsh/custom/plugins

将代码克隆下来:

1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

编辑~/.zshrc添加zsh-syntax-highlighting插件:

1
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

自动补全插件

切换到omz在的目录:

1
cd ~/.oh-my-zsh/custom/plugins

将代码克隆下来:

1
git clone https://github.com/zsh-users/zsh-autosuggestions.git

编辑~/.zshrc添加zsh-autosuggestions插件:

1
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

安装powerlevel10k主题

Powerlevel10k是Zsh的主题。它强调速度、灵活性和开箱即用的体验。

安装字体

可以通过官方参考 手动安装以下四个字体:

  1. MesloLGS NF Regular.ttf
  2. MesloLGS NF Bold.ttf
  3. MesloLGS NF Italic.ttf
  4. MesloLGS NF Bold Italic.ttf

oh-my-zsh上安装

Clone the repository:

1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

中国用户可以使用 gitee.com 上的官方镜像加速下载.

1
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Set ZSH_THEME=“powerlevel10k/powerlevel10k” in ~/.zshrc.

常用操作

增加kubectl自动补全

~/.zshrc里面加入:

1
2
3
#kubectl补全  
source <(kubectl completion zsh)
echo "source <(kubectl completion zsh)" >> ~/.zshrc

tmux

tmux是一个终端复用器,这也是它命名的由来t(terminal)mux(multiplexer),你可以在一个屏幕上管理多个终端。

安装tmux
1
2
3
4
# ubuntu/debian
sudo apt install tmux
# centos
yum install tmux

基本上,我们使用tmux分为三步:

  1. 了解基本的概念
  2. 安装oh-my-tmux
  3. 使用tpm安装对应的插件

然后开始使用即可了。

基本概念

tmux基本样式
  • session 会话

    会话可以理解为一个ssh连接。

  • window 窗口

    一个会话可以包含多个窗口。

  • pane 窗格

    一个窗口可以包含多个窗格。

常用命令

会话管理

新建会话

第一个启动的Tmux窗口,编号是0,第二个窗口的编号是1,以此类推。这些窗口对应的会话,就是0号会话、1号会话。

1
tmux new -s <session-name>
离开会话

有时候我们需要离开终端,操作其他的任务,需要离开该任务,但是又想该任务继续在后台执行,这时候我们需要在tmux的任何一个窗格中输入如下命令:

1
tmux detach

可以使用C-b d的快捷键来快速的达到目的。

查看会话列表
1
tmux ls

示例运行结果如下:

1
2
~ tmux ls
analysis-0: 5 windows (created Sun Nov 20 01:37:36 2022) (group analysis) (attached)
关闭会话

可以使用Ctrl+d来关闭会话,当然也可以使用如下命令来关闭会话:

1
tmux kill-session -t <session-name>
切换会话

执行命令,可以从当前的 session 快速切换到另一个 session:

1
tmux switch -t <session-name>
重命名会话
1
tmux rename-session -t <old-session-name> <new-session-name>

也可以使用<prefix> $的快捷键来重命名当前的会话。

窗口管理

除了将一个窗口划分成多个窗格,Tmux也允许新建多个窗口。

新建窗口

可以使用C-b + c快捷键来创建新窗口。

tmux new-window命令用来创建新窗口。

1
2
3
4
$ tmux new-window

# 新建一个指定名称的窗口
$ tmux new-window -n <window-name>
切换窗口

tmux select-window命令用来切换窗口。

1
2
3
4
5
# 切换到指定编号的窗口
$ tmux select-window -t <window-number>

# 切换到指定名称的窗口
$ tmux select-window -t <window-name>
重命名窗口

使用C-b ,可以快速重命名窗口。

tmux rename-window命令用于为当前窗口起名(或重命名)。

1
$ tmux rename-window <new-name>

常用配置

开启窗格同步

可以通过:set -g synchronize-panes on来同步窗格之间的键入

https://cloud.githubusercontent.com/assets/553208/9890858/ee3c0ca6-5c02-11e5-890e-05d825a46c92.gif

.tmux

自包含、漂亮且通用的.tmux.conf配置文件,可以实现一个特别漂亮、好用的tmux终端。

使用oh-my-tmux的demo

它包含以下的特性:

  • C-a1作为二级前缀,同时保持默认的C-b前缀
  • Powerline 启发的视觉主题
  • 使用<prefix> +2将任何窗格最大化到新窗口
  • SSH/Mosh感知用户名和主机名状态行信息
  • 使用<prefix> m切换鼠标模式
  • 如果可用,自动使用reattach-to-user-namespace
  • 笔记本电脑电池状态行信息
  • 正常运行时间状态行信息
  • 聚焦窗格的可选突出显示
  • 可配置的新窗口和窗格行为(可选择保留当前路径)
  • SSH/Mosh感知拆分窗格(重新连接到远程服务器)
  • 复制到操作系统剪贴板
  • 支持4位十六进制Unicode字符
  • Urlview 集成(如果可用)

安装.tmux

安装先决条件

tmux的版本要求为2.3以上,可以通过如下命令查看tmux版本:

1
tmux -V
1
2
3
4
cd
git clone https://github.com/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

常用键位绑定

  1. <prefix> e: 用$EDITOR打开~/.tmux.conf.local
  2. <prefix> r: 重新加载配置文件
  3. <prefix> C-l: 清除screen以及tmux的历史
  4. <prefix> C-c: 创建新的session
  5. <prefix> -: 纵向分割窗口
  6. <prefix> _: 横向分割窗口
  7. <prefix> Tab: 切换到最近的窗口
  8. <prefix> Enter: 进入Copy模式
  9. <prefix> 方向键: 切换窗格(pane)
  10. <prefix> +: 最大化窗格
  11. <prefix> m: 切换到鼠标模式
  12. <prefix> h<prefix> l: 切换窗口,也可以用<prefix> 数字来切换到对应的序号的窗格

tmux插件管理

通过安装oh-my-tmux ,来使用其带的tpm插件管理器。

插件安装虽然说基本上是直接通过.tmux.conf来更改配置,但是我们若已经使用了oh-my-tmux,那我们最好还是使用其推荐的更改配置的方法:<prefix> e

常用插件

tmux-continuum

https://github.com/tmux-plugins/tmux-continuum

该插件用于持续的保存tmux的环境,并且在服务器开启的时候自动启动tmux,在tmux启动后,自动恢复tmux当时的现场环境(但是环境变量信息还是会丢失的)。

我们可以使用tpm来安装这个插件,在.tmux.conf中添加如下:

1
2
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'

然后执行<Prefix> I来拉取插件的源码并安装。

参考文献

  1. oh-my-tmux官方Repo
  2. tmux官方Wiki
  3. 阮一峰tmux使用教程
  4. shell主题相关教程
  5. tmux cheetsheet
  6. oh-my-zsh官方网站
  7. p10k主题官方Repo

  1. 这个是代表Ctrl+a,后续的C-b也同理。 ↩︎

  2. 这里的prefix可以是C-a也可以是C-b也可以是自定义的前缀快捷键。 ↩︎