目前在 arch linux 系统下的一些常用软件的配置,使用 yadm
进行管理
-
zsh
z shell 是一款可用作交互式登录的 shell 及脚本编写的命令解释器,用来替代bash
-
zim
模块化、可定制且速度极快的 Zsh 框架,相比 ohmyzsh 更加轻量友好 -
tmux
终端复用器 -
zellij
终端复用器,tmux 的竞品,比 tmux 更简单,采用 Rust 编写 -
fish
friendly interactive shell 很傻瓜式的 shell,自身就提供了自动补全、语法高亮等功能,但是语法相比 bash 有很大出入 -
alacritty
使用 Rust 编写的跨平台的终端模拟器, GPU terminal -
kitty
使用 python 和 C 编写的 GPU terminal -
starship
适用于任何 shell 的最小、极快且可无限自定义的提示符 -
wezterm
使用 Rust 编写的跨平台终端模拟器,GPU terminal
具体详见 MordenCLI
具体配置详见 .zshrc
采用 zimfw 框架引入插件,starship 来定义 shell 样式
zimfw 开箱提供了 语法高亮zsh-syntax-highlighting
、自动建议zsh-autosuggestions
、命令记录搜索zsh-history-substring-search
等插件
主要插件如下
-
fzf-tab
使用fzf
作为引擎来提升 命令补全、目录补全等功能,配置了目录预览,文件预览等 -
mcfly
采用 Rust 编写的 shell 历史查询插件,快捷键为Ctrl+R
-
atuin
采用 Rust 编写的 shell 历史查询插件,快捷键为Ctrl+R
-
pacman
zim 提供的 pacman 指令简化插件 -
archive
zim 提供的压缩命令简化插件 -
ohmyzsh/sudo
ohmyzsh 提供的快速提权插件,通过双击 ESC 在指令最前面插入 sudo -
fast-syntax-highlighting
使用fzf
作为引擎的 zsh 高亮插件,相比 zsh-syntax-highlighting 提供更加友好的高亮 -
docker-zsh-completion
更好的对 docker 和 docker-compose 命令提供补全 -
zsh-aliases-exa
采用exa
来替换 ls 命令,并且提供了很多 ls 命令的 alias提供的简写如下
# general use alias ls='exa' # ls alias l='exa -lbF --git' # list, size, type, git alias ll='exa -lbGF --git' # long list alias llm='exa -lbGd --git --sort=modified' # long list, modified date sort alias la='exa -lbhHigUmuSa --time-style=long-iso --git --color-scale' # all list alias lx='exa -lbhHigUmuSa@ --time-style=long-iso --git --color-scale' # all + extended list # specialty views alias lS='exa -1' # one column, just names alias lt='exa --tree --level=2' # tree
-
forgit
依赖于 fzf 的 git 命令封装工具 一些默认的简写:forgit_log=glo forgit_diff=gd forgit_add=ga forgit_reset_head=grh forgit_ignore=gi forgit_checkout_file=gcf forgit_checkout_branch=gcb forgit_checkout_commit=gco forgit_clean=gclean forgit_stash_show=gss forgit_cherry_pick=gcp forgit_rebase=grb forgit_fixup=gfu
还有一些 zim 开箱提供的插件,具体详见 .zimrc
tmux
终端复用器,有两个竞品为 byobu
和 zellij
tmux 的 <Prefix> 快捷键配置为了 Ctrl+a其中采用了 tpm
作为插件管理器,插件列表如下
tmux-sensible
tmux 的基础选项tmux-copycat
tmux 增强搜索tmux-resurrect
和tmux-continuum
tmux session 的保存和恢复tmux-pain-control
tmux 标准 pain 键位绑定tmux-yank
复制到系统剪贴板tmux-sidebar
带有当前路径目录树的侧边栏tmux-fzf
使用 fzf 来管理 tmux sessiondracula/tmux
tmux 的 dracula 主题
具体配置详见 .tmux.conf
使用 Rust 编写的 GPU 加速终端模拟器
具体配置详见 alacritty.yml
使用 Rust 编写的 GPU 加速终端模拟器,相比 Alacritty 速度较慢,但是支持多标签页和分屏等
具体配置详见 wezterm.lua
使用 Python 编写的 GPU 加速终端模拟器,相比 Alacritty 更加友好,有一些内置语法
具体配置详见 kitty.conf