近些年来有一些开源的现代命令行工具,主要用于取代同样或者类似功能的传统工具,也出现了一些新型的命令行工具。这些工具的共性是大部分是用rust语言编写的。我主是基于Mac OS下在使用这些工具。
终端
Alacritty 可以取代 iTerm2,Zellij 可以取代 tmux 和screen。fish可以取代 zsh 或 bash,Fish官网声称它是90后年轻人的shell,fish 自然要搭配 oh-my-fish 使用才行。
brew install --cask alacritty
brew install fish zellij
编辑器
Neovim 可取代 vi 和 vim,需要配套安装 Lazyvim,才能更好发挥它的作用。我还是 Emacs 的用户,不过这算是图形界面的工具了,很少会在命令行下使用它,而 nvim 则基本都是在终端下启动和使用的。
brew install nvim
git clone https://github.com/LazyVim/starter ~/.config/nvim
文档
tldr 和 cheat 目标都是用简短的命令行示例取代冗长manpages文档。两者对比而言,tldr 内容十分丰富,社区贡献活跃,比 cheat 好用很多。
现代版
常见命令行工具的现代版,一般是用rust或go语言重写的加强版,大部分用的rust语言:
ls:eza,exa,lsdcd:zoxidecat:batcut:choose(choose-rust)grep:ripgrep,agsed:sdfind:fddu:dustdf:duftop:btop,bottom,glances,gtop,zenithdiff:difftastichexdump:hexylping:gpingps:procscurl:curliedig:doggo
新工具
以下这些项目的目的不是替换传统的旧工具,而是新类型的命令行工具。
jq:sedfor JSONfzf: fuzzy finderdelta: syntax-highlighting pager (git-delta)atuin: magical shell historymoreutils: 一系列的新工具。其中vidir非常好用,使用文本编辑器 进行批量重命名文件和删除文件等操作。lazygit,lazydocker: TUI forgitanddocker