目录

    • 简介
    • 首次用户
    • 功能特点
    • Bubbles 与 Lip Gloss
    • 进一步探索

简介

gum 由 Charm 组织于 2022 年使用 Go 语言开发。旨在帮助用户编写 Shell 脚本与 dotfiles 时提供一系列快捷使用,可配置,可交互,美观的 Terminal UI 组件。

首次用户

  1. 使用 x gum 即可自动下载并使用

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

  3. 使用案例

    # 在命令行中构建选项列表界面$ x gum choose "1" "2" "3"# 在命令行中构建确认界面$ x gum confirm && echo "Confirm" || echo "Cancel"# 在命令行中构建文件选择界面$ x gum file ./# 在命令行中构建筛选值列表$ printf "%s\n" "file" "choose" "format" | x gum filter# 构建一个 shell 历史命令选取界面$ x gum filter --height 5

    gum 在文档示例中提供使用 shell 脚本配合 gum 实现 git commit message 的交互式生成示例。

功能特点

  1. 组件多样:gum 提供 输入框,多行文本输入,选择框,确认框,文件筛选,分页阅读器,旋转加载器,表格等一系列简洁,美观的 Terminal UI 组件
  2. 定制样式:gum 组件可通过变量与参数,对颜色样式以及功能进行修改,以满足定制化需求。
  3. 文本布局:gum 提供美观的垂直或水平文本布局,来凸显输出文本信息。
  4. 格式化显示:使用 gum format 可以对模版字符,Markdown以及代码进行高亮显示。

Bubbles 与 Lip Gloss

两者都是由 Charm 组织开发和维护的 Go 生态库。而 gum 则是这两个样式库封装的命令行工具,可供你在终端环境中快速使用。

  • Bubbles:Go 生态中的 Terminal UI 组件库,以组件多样,简洁,美观,可配置而被广泛使用在 Go 语言开发的 CLI 中。
  • Lip Gloss:Go 生态中的 Terminal 布局库,以富有表现力的终端样式布局以及文本高亮渲染而被广泛使用在 Go 语言开发的 CLI 中。

如果你需要使用 Go 语言开发命令行工具,不妨可以使用他们构建美观可交互的 CLI 工具。

进一步探索

  • gum 源代码 – gum 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 gum 和参与社区贡献。
  • gum 使用示例 – 由官方提供的一系列应用场景。
  • Gum – Linux 中迷人的 Shell 脚本工具 – 该博客配以各个应用场景示例的截图来说明 gum 的功能,简单直观。

X-CMD 官网

  • x-cmd-pkg

  • x-cmd-1min