目录
- 简介
- 首次用户
- 功能特点
- Bubbles 与 Lip Gloss
- 进一步探索
简介
gum 由 Charm 组织于 2022 年使用 Go 语言开发。旨在帮助用户编写 Shell 脚本与 dotfiles 时提供一系列快捷使用,可配置,可交互,美观的 Terminal UI 组件。
首次用户
-
使用
x gum
即可自动下载并使用- 在终端运行
eval "$(curl https://get.x-cmd.com)"
即可完成 x 命令安装, 详情参考 x-cmd 官网
- 在终端运行
-
x-cmd 提供1分钟教程,其中包含了 gum 命令常用功能的 demo 示例,可以帮你快速上手 gum 。
-
使用案例:
# 在命令行中构建选项列表界面 $ 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 的交互式生成示例。
功能特点
- 组件多样:gum 提供 输入框,多行文本输入,选择框,确认框,文件筛选,分页阅读器,旋转加载器,表格等一系列简洁,美观的 Terminal UI 组件
- 定制样式:gum 组件可通过变量与参数,对颜色样式以及功能进行修改,以满足定制化需求。
- 文本布局:gum 提供美观的垂直或水平文本布局,来凸显输出文本信息。
- 格式化显示:使用
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