x-cmd pkg | g - 功能和交互更为丰富的 `ls` 替代方案

154 阅读2分钟

简介

g 是一项用 Go 开发的、功能和交互更为丰富的 ls 替代方案。它拥有 100 多个功能选项,主要是通过各式图标、各种布局选项和 git status 集成来增强视觉效果,并且支持多种输出格式,如 md, csv, tsv, json 等格式。

首次用户

  1. 使用 x env use g 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 g 命令常用功能的 demo 示例,可以帮你快速上手 g 。

  3. 使用案例:

g-1min-cn

# 安装 g
x env use g

# 显示具有目标 ext 的文件
g --ext=md,go

# 显示重复文件
g --dup

# 指定输出格式
g -m   # 用逗号分隔的条目列表填充宽度
g -1   # 单列
g -T   # 以树状形式输出
g -tb  # 以表格形式输出
g -md  # 以 markdown 格式输出
g -csv # 以 csv 格式输出
g -tsv # 以 tsv 格式输出
g -j   # 以 json 格式输出

# 显示完整路径
g -fp

# 显示 git 状态
g --git

# 显示图标
g --icon

# 显示统计信息
g --statistic

# 递归到目录
g -R

功能特点

  1. 美观:具有漂亮的彩色输出、图标和文件类型预览。内置多种布局选项和主题,允许您根据自己的喜好定制个性化的输出。
  2. Git 集成:能在列表中显示文件的 git-status/repo-status/repo-branch 。
  3. 高级排序:提供高度可定制的排序选项,例如版本排序。
  4. 跨平台兼容性:可在 Linux、Windows 和 MacOS 上无缝运行。
  5. 模糊路径匹配:与 zoxide 和 fzf 模糊路径匹配类似。
  6. 超链接支持:支持单击列表中的文件/目录名来打开文件/目录。

竞品和相关作品

  1. x ls:x-cmd 的 ls 模块,旨在提供一种不同于现有 ls 命令的玩法。
  2. exa or eza:使用 Rust 编写的 ls 的现代化替代品,与 g 项目类似,但更为成熟,传播更广。
  3. lsd: 由 Warp Terminal 赞助的 ls 命令替代方案,使用 Rust 编写。
  4. ls-go: 由 Warp Terminal 赞助的另一个 ls 命令替代方案,使用 Go 编写。

进一步阅读

  • g 源代码 - g 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 g 和参与社区贡献。