macOS zsh配置怎么实现输入cd时自动列出目录文件

星辰同学_4565

星辰同学_4565

2026-09-24

694人浏览

原创

zsh 中 cd 命令默认不自动 ls,但可通过三种方式增强可见性:①启用目录补全(输入 cd 空格后按 tab 列子目录);②定义 cd 函数实现执行后自动 ls(仅交互有效);③创建 cld 别名兼顾安全与效率。

macos 的 zsh 默认不会在输入 cd 后自动列出目录内容,但可以通过补全 + 提示增强的方式,让 cd 命令更“智能可见”——即按下 tab 键时显示可选子目录,或在输入 cd 后立刻看到当前目录结构。严格来说,“输入 cd 就自动 ls”不是标准行为(也不推荐,因可能干扰脚本和批量操作),但有几种实用、安全、符合 zsh 习惯的实现方式:


✅ 方式一:启用原生目录补全(最常用、最可靠)

zsh 自带强大的补全系统,只需开启即可在输入 cd(注意空格)后按 Tab,自动列出当前目录下的所有子目录(过滤掉普通文件)。

操作步骤:

  • 确保 ~/.zshrc 中已启用补全系统(Oh My Zsh 默认已开;裸 zsh 需确认):
    autoload -Uz compinit
    compinit
  • 添加以下配置,让 cd 只补全目录(不显示文件):
    zstyle ':completion:*:cd:*' file-patterns '*/'

✅ 效果:
输入 cd(cd 后加空格)→ 按 Tab → 终端列出当前目录下所有文件夹名,支持模糊匹配和方向键选择。


✅ 方式二:定义 cd 别名 + 自动 ls(谨慎使用)

如果你确实希望每次执行 cd 后立刻看到目标目录内容,可创建别名(注意:它只对交互式输入生效,不影响脚本):

cd() {
  if [[ $# -eq 0 ]]; then
    builtin cd ~
  else
    builtin cd "$@"
  fi
  ls -Fh --color=auto 2>/dev/null || ls -Fh
}

? 说明:

macos-suite-readonly
macos-suite-readonly

macOS 只读查询:Mail 未读、Calendar 日程、Notes 搜索、Stocks 行情(输出 JSON)。

下载
  • builtin cd 确保调用原生 cd,避免递归;
  • ls -Fh --color=auto 显示目录 / 标识、人类可读大小、彩色输出;
  • 2>/dev/null 忽略权限错误等杂音。

⚠️ 注意:此方式会让所有 cd 操作都触发 ls,包括 cd ..cd -,可能略显频繁。适合个人日常,不建议在共享环境或自动化流程中启用。


✅ 方式三:用 cd + ls 组合快捷键(推荐平衡方案)

不修改 cd 行为,而是绑定一个新快捷命令,比如 cld(cd + list):

cld() {
  cd "${1:-.}"
  ls -Fh --color=auto
}

然后输入 cld 回车 → 进入当前目录并列文件;
输入 cld Projects → 进入 Projects 并列内容。

✅ 优点:语义清晰、无副作用、可自由扩展(如加 -a 显示隐藏项)。


? 额外提示:快速查看当前目录结构的小技巧

  • 输入 ls 后不回车,直接按 Tab → zsh 会自动补全当前目录下的第一个项目(需补全开启);
  • 安装 zsh-autosuggestions 插件后,输入 cd,历史中常去的目录会以灰色浮现,按 → 可直接采纳;
  • 搭配 zoxide 使用:z proj 跳转后,自然就处在目标目录,再按 ls 即可——比“强制自动 ls”更符合工作流。

不复杂但容易忽略:真正提升效率的不是“自动 ls”,而是减少输入 + 加快识别。补全、模糊跳转(z)、颜色高亮(zsh-syntax-highlighting)组合起来,比单纯追加 ls 更可持续。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

macos

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3630

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3153

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2213

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5290

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

4962

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2973

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2485

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2699

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Miniconda官方安装文档
Miniconda官方安装文档

共0课时 | 0人学习

HBuilderX macOS 安装手册
HBuilderX macOS 安装手册

共0课时 | 0人学习