← Back to Blog

让命令行效率翻倍:5 个我每天在用的终端神技

57 阅读 点赞
极简终端工作台封面

每天坐在终端前面,我常常在想:同样是敲命令,为什么有些人三秒搞定一件事,而我却要在菜单、鼠标和记忆之间来回折腾?其实差距不在天赋,而在工具的习惯。今天想和你分享 5 个每天真正改变我命令行效率的小工具。它们都不是什么炫酷的黑科技,而是那种「用了就回不去」的实在东西——希望也能帮你少点几次鼠标。

1. zoxide:告别 cd,走向书的目录

还在靠 cd ../../.. 一层层翻目录吗?做过项目的人都有体会,路径越长,记忆负担越重。zoxide 就是一个「会记住你路径」的增强版 cd。它基于访问频率和最近使用,把最常用的目录排在前面。从此你只需要敲 z blog,就能瞬间跳到和你 blog 相关的目录;敲 zi 还能弹出交互式选择。它支持 Bash、Zsh、Fish 各种 shell,一条命令即可安装,几乎零成本让「跳转目录」从机械动作变成一步直达。

我的习惯是给常用工作目录起一个能记住的别名关键词,然后用 z 关键词 直达。配合 fzf 的模糊搜索,基本告别了长路径带来的「路径恐惧症」,打开项目的速度起码快了一半。

2. fzf:把模糊搜索带进每个角落

fzf 是一个终端下的模糊查找器,但它远不止「搜文件」这么简单。它的杀手锏是通用性——你可以把它接到任何输出流上。比如 cat history | fzf 快速翻阅历史命令,ps aux | fzf 可视化挑进程,甚至配合 git 命令做分支或 commit 的模糊跳转。它的交互式预览和键盘快捷键(Ctrl-R 带回历史、Ctrl-T 找文件、Alt-C 进目录)几乎成了我操作系统的肌肉记忆。

尤其推荐在 shell 里绑定 Ctrl-R 为 fzf 历史搜索:几千条历史命令,输入两三个关键字,光标就精准落在那条曾经拯救过你的命令上。用完你大概会和我一样,再也回不去那笨拙的上下键翻历史了。

3. ripgrep:比 grep 快一个量级的搜索

代码工具链概念图

在大型代码库里搜关键字,曾经是最折磨人的事情之一。ripgrep(rg)支持并行搜索、自动忽略版本控制和二进制文件,速度基本是无缝的。更贴心的是它的输出自带高亮、行号和高亮上下文,配合 --type 还能按语言过滤。我用它替换掉了 90% 的 grep 使用场景,尤其是配合 fzf 做代码内搜素和文件定位,效率提升不是一点点。

一个小技巧:在编辑器或 IDE 里把「全局搜索」的后端也换成 ripgrep,检索体验会顺滑很多。它是很多现代编辑器检索功能背后的默认引擎,原因就是快。

4. lazygit:用键盘把 Git 玩出花

Git 的命令行本身很强,但日常的暂存、提交、合并在纯命令行里总显得凌乱。lazygit 用 TUI(终端界面)把 Git 工作区、暂存区、分支、提交历史、冲突解决全部可视化,而且全程可以纯键盘操作。stage 一行、改 commit message、交互式 rebase、解决冲突,几乎都集中在几个键位里,比鼠标点开 GUI 客户端更快。

我还喜欢它的「自定义命令」功能,可以把常用的 git 子命令或脚本绑定成快捷键。一旦养成顺手,你会发现自己越来越愿意小步提交、频繁标记里程碑——版本历史终于回归它本该有的清晰样子。

5. tmux:把终端窗口变成可续存的会话

最后一个是 tmux。它允许你在一个终端里开多个窗格、多个会话,并且最重要的——断开连接后进程依然在跑,随时回来接着继续。出差换电脑、误关终端、SSH 断开,都不会再让你辛辛苦苦跑的进程灰飞烟灭。我习惯给每个项目开一个独立 session,配合 tmuxinatortmux-resurrect,重启后还能恢复整套布局。

对于远程开发和需要长时间运行的任务,tmux 几乎是必需品。它让「终端会话」第一次变得和我心中的「工作环境」一样,是可以随时保存和恢复的。

专注工作的程序员意境图

最后

这 5 个工具单独看都不惊天动地,但当它们组合起来——zoxide 跳目录、fzf 找一切、rg 搜代码、lazygit 管版本、tmux 续会话——你的终端就会从「一个能敲命令的地方」升级成「一套完整的个人工作台」。磨刀不误砍柴工,花一下午把这些装好、绑定好快捷键,接下来每天都能省下大量无谓的操作时间。你最近有没有遇到「用了就回不去」的命令行工具?欢迎在评论区聊聊,我很期待你的神器清单。

💬 发表评论