让你大吃一惊的 Zsh 技巧

2025-06-07

让你大吃一惊的 Zsh 技巧

这篇博客文章是为Twilio撰写的,最初发表在 Twilio 博客上

在基于 UNIX 的编程中,我们经常谈论 Shell、终端和命令行界面。Bash 可能是最著名的,但还有其他广泛使用的选项,例如 Zsh 或 Z shell。继续阅读,了解更多关于 Zsh 的信息以及一些优化开发的技巧和窍门。

Zsh 是什么?

Zsh,也称为 Z shell,扩展了 Bourne Shell (sh) 的功能,提供了更新的功能以及对插件和主题的更多支持。从 2019 年的 MacOS Catalina 开始,Zsh 成为 Mac 机器的默认登录和交互式 shell。

安装 Zsh

您可以使用 Homebrew安装Zshbrew install zsh

在此过程中,您还可以使用以下安装脚本安装最流行的 Zsh 插件oh-my-zsh,它附带许多内置插件和主题:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Enter fullscreen mode Exit fullscreen mode

9 个鲜为人知的 Zsh 技巧和窍门

  1. 我的队友 Valériane Venance 在推特上发布了有关创建新目录并对其进行更改的take命令,从而无需键入两个命令mkdir并且cd take还将根据需要创建中间目录。举个例子
  2. 搜索历史记录。在终端中,按下向上箭头键可以循环显示你之前使用过的命令,从最近的开始。使用 Zsh,你可以循环显示你使用过某个特定命令的时间,例如……mkdirmkdir 用途的搜索历史 的好队友 Matthew Gilliard 告诉我,ctrl-r ___哪个命令可以找到你上次搜索给定短语的时间。ctrl-r再次点击可以找到第二最近的命令,然后是第三最近的命令,依此类推。cmd-r 示例
  3. 自动cd。无需键入cd切换目录,只需键入目录名称即可。
  4. 使用 批量重命名文件zmv要安装 zmv,请运行autoload zmv。我为机器学习模型下载了大量图像,并希望将它们重命名为更一致(即 epcot-1.jpg、epcot-2.jpg、epcot-3.jpg......而不是 1.jpg、2.jpg、3.jpg......)执行此操作的命令是zmv '(*).(jpg|jpeg)' 'epcot-$1.$2'。要检查运行命令之前会发生什么,可以添加-n,而不是运行 该命令是什么意思?查找目录中以或结尾的每个文件。然后表示通过在前面添加原始文件名(用 表示)然后是原始文件类型(用 表示)来编辑每个文件名zmv -n '(*).(jpg|jpeg)' 'epcot-$1.$2'
    使用 zmv -r 检查批量重命名
    (*).(jpg|jpeg).jpg.jpegepcot-$1.$2epcot-$1$2

  5. 像计算器一样从命令行执行计算。
    使用 zcalc 进行计算

  6. 丰富的插件选择。正如安装部分所述,oh-my-zsh 自带了许多插件。您可以通过在文件中添加以下代码来包含npmsudo插件: 。一些出色的插件包括~.zshrcplugins=(npm sudo)

    • npmnpm为命令添加自动完成功能。
    • sudosudo即使您已经通过esc两次单击输入了命令,它仍会添加到命令中 - 您猜对了。使用 esc-esc 命令执行 sudo
    • zsh-autosuggestions根据您以前的命令和完成的历史记录,在您键入时建议命令。zsh-自动建议 gifweb-search让您从命令行打开搜索引擎:运行google ___将在 Google 中搜索给定的短语,即 Serena Williams,如下所示。通过命令行搜索 Serena Williams
    • git包含许多 git 命令的别名,让您减少输入并节省时间。git add既然可以手动输入,为什么还要手动输入ga呢?更多别名请见此处ga 的示例。
  7. 停放命令。 Ctrl-q “停放”当前正在输入的命令,并返回到提示符,以便您重新开始输入另一个命令。运行该命令后,原始命令将取消停放并重新填充命令行,以便您继续操作——例如,如果您忘记在执行某个命令之前执行某个命令,此功能非常有用。
    ctrl-q 暂停命令以供稍后使用

  8. 在命令行中输入命令后,可以轻松编辑它。如果您输入或粘贴了一条长命令,并决定在运行前进行编辑,则可以ctrl-x-e在编辑器中打开它(通常是 vi,但您可以使用环境变量将其设置为任何文本编辑器$EDITOR)。

  9. 组合快捷键。输入ctrl l而不是clear来清除终端。

    Shell 涡轮增压的下一步是什么

    这仅仅是个开始——zsh 和 oh-my-zsh 还能帮你做更多。快来看看这份 oh-my-zsh 速查表,以及这份由 Twilio 工程师 Joe Block 维护的 ZSH 框架、主题和插件列表吧!然后在线告诉我你的终端是什么样子的!

文章来源:https://dev.to/twilio/zsh-tricks-to-blow-your-mind-291f
PREV
有关超级令牌的一切 - Auth0、Firebase Auth 和 AWS Cognito 的开源替代品。
NEXT
尝试执行 FETCH(呃,POST 请求)💅💁🏼‍♀️