Repolode
chrisant996

chrisant996/clink

为 Windows 原生 cmd.exe 带来 Bash 式命令行编辑、补全、历史记录和 Lua 可编程提示符。

Star
5,583
Fork
211
未关闭 Issue
2
最近提交
5天前

这是什么?

Clink 将 GNU Readline 库的行编辑和补全功能引入 Windows 默认的命令提示符 cmd.exe。它通过将 DLL 注入 cmd.exe 进程,并拦截少量 Windows API 调用,让提示符和输入行由基于 Readline 的编辑器处理,取代原有的内置编辑功能。

开箱即用时,Clink 提供基于历史记录、文件和补全结果的输入建议,支持 Tab 和 Ctrl-Space 补全,并保存可搜索的历史记录供跨会话使用。补全和输入着色由 Lua 脚本驱动,提示符同样可以用 Lua 自定义,使 cmd.exe 用户也能使用类似其他 shell 的动态提示符。

Clink 可通过安装程序、winget、scoop 或 ZIP 压缩包安装,也可设置为 cmd.exe 启动时自动加载。项目使用 C++ 编写,通过 Premake 生成 Visual Studio 工程进行构建。

核心功能

  • 01输入时基于历史、文件和补全结果给出自动建议。
  • 02支持 Tab 和 Ctrl-Space 补全,并可显示交互式补全列表。
  • 03命令历史可搜索,并在会话之间持久保存。
  • 04通过 Lua 脚本实现上下文相关的输入着色。
  • 05可用 Lua 脚本自定义提示符。
  • 06支持可配置的按键绑定和额外的行编辑命令。

适用场景

  • 经常在 cmd.exe 中工作、希望获得类似 Bash 编辑和历史体验的 Windows 开发者。
  • 用 Lua 脚本动态自定义 cmd.exe 提示符。
  • 为 Windows 上的命令行工具添加上下文感知的 Tab 补全。

快速上手

  1. 1

    使用 winget 安装 Clink

    winget install --id chrisant996.Clink -e
  2. 2

    使用 scoop 安装 Clink(备选)

    scoop install clink
  3. 3

    启动 cmd.exe;若已开启自动运行,Clink 会自动注入,或从开始菜单运行 Clink 快捷方式

使用前须知

  • 仅适用于 Windows,且只能配合 cmd.exe 使用。
  • 采用 GPL-3.0 许可证,属于 Copyleft 许可。

标签

常见问题

clink 是什么?
为 Windows 原生 cmd.exe 带来 Bash 式命令行编辑、补全、历史记录和 Lua 可编程提示符。 Clink 将 GNU Readline 库的行编辑和补全功能引入 Windows 默认的命令提示符 cmd.exe。它通过将 DLL 注入 cmd.exe 进程,并拦截少量 Windows API 调用,让提示符和输入行由基于 Readline 的编辑器处理,取代原有的内置编辑功能。
clink 可以免费使用吗?用的什么许可证?
clink 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
clink 还在维护吗?
活跃维护中。clink 最近一次提交是在 2026年11月2日。
clink 适合用来做什么?
经常在 cmd.exe 中工作、希望获得类似 Bash 编辑和历史体验的 Windows 开发者。 用 Lua 脚本动态自定义 cmd.exe 提示符。 为 Windows 上的命令行工具添加上下文感知的 Tab 补全。
clink 怎么安装和运行?
使用 winget 安装 Clink: winget install --id chrisant996.Clink -e 使用 scoop 安装 Clink(备选): scoop install clink 启动 cmd.exe;若已开启自动运行,Clink 会自动注入,或从开始菜单运行 Clink 快捷方式
在哪里获取 clink?
源代码和安装说明在 GitHub 上:https://github.com/chrisant996/clink

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目