You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows Terminal中存储并选择带占位符的预配置Bash命令?

在Windows Terminal中实现预配置命令列表(支持占位符补全)

下面是几个无需依赖外部网站、直接可用的实现方案,覆盖不同使用场景:

方案1:利用Windows Terminal内置命令面板(零额外工具)

通过自定义终端动作,把预配置命令添加到命令面板,支持快捷键触发,还能自动定位光标到占位符位置。

配置步骤

  1. 打开Windows Terminal设置(快捷键Ctrl+,),切换到「JSON文件」编辑模式
  2. 在actions数组中添加自定义命令,示例配置:
{
  "command": {
    "action": "sendInput",
    "input": "git commit -a -m \"\"\u001b[1D"
  },
  "name": "Git 快速提交",
  "shortcuts": "ctrl+shift+c"
},
{
  "command": {
    "action": "sendInput",
    "input": "scp ./dist/* user@server:/var/www/html/\u001b[10D"
  },
  "name": "上传dist到服务器",
  "shortcuts": "ctrl+shift+u"
}
  • sendInput会把命令直接发送到当前终端的提示符
  • \u001b[1D是ANSI光标左移序列,用来把光标定位到占位符位置(比如引号中间、服务器地址位置)
  1. 保存配置后,按下Ctrl+Shift+P打开命令面板,搜索自定义的命令名即可执行,也可以直接用绑定的快捷键

方案2:PowerShell自定义函数(批量管理命令)

适合需要维护大量预配置命令的场景,通过PowerShell函数生成可视化选择菜单,选完自动填充命令并定位光标。

实现步骤

  1. 打开PowerShell配置文件(输入notepad $PROFILE,如果文件不存在则新建)
  2. 添加以下函数:
function Show-CommandMenu {
    # 定义预配置命令列表:Name是显示名称,Command是要填充的命令,CursorPos是光标最终位置(从行首开始计数)
    $commands = @(
        @{Name="Git 提交(带消息占位)"; Command='git commit -a -m ""'; CursorPos=22},
        @{Name="拉取当前分支"; Command='git pull origin $(git rev-parse --abbrev-ref HEAD)'; CursorPos=0},
        @{Name="新建Python虚拟环境"; Command='python -m venv .venv && .\.venv\Scripts\activate'; CursorPos=0}
    )

    $selected = $commands | Out-GridView -Title "选择预配置命令" -OutputMode Single
    if ($selected) {
        # 把命令输出到当前提示符
        [Console]::Write($selected.Command)
        # 移动光标到指定位置
        if ($selected.CursorPos -gt 0) {
            [Console]::Write("`e[$($selected.CursorPos)G")
        }
    }
}
  1. 保存配置后,重启终端,输入Show-CommandMenu即可弹出可视化菜单,选择后命令自动填充到提示符,光标定位到位

方案3:Clink增强工具(CMD/PowerShell通用)

Clink是给CMD和PowerShell补全功能的工具,支持自定义命令模板和占位符处理,适合重度终端用户。

实现步骤

  1. 安装Clink后,找到其配置文件(通常在%LOCALAPPDATA%\clink\clink_config.lua)
  2. 添加自定义命令:
-- Git提交模板
clink.add_command("git-commit", function ()
    clink.set_input_line('git commit -a -m ""')
    clink.move_cursor(-1) -- 光标移到两个引号中间
end)

-- 服务器文件上传模板
clink.add_command("upload-dist", function ()
    clink.set_input_line('scp ./dist/* user@server:/var/www/html/')
    clink.move_cursor(-10) -- 光标移到server位置,方便修改地址
end)
  1. 重启终端后,输入git-commit或upload-dist,命令会自动填充到提示符,光标直接定位到需要修改的位置

各方案对比

方案优点缺点
内置命令面板零额外工具、配置简单批量命令维护繁琐、光标定位需手动计算
PowerShell函数批量管理灵活、可视化选择仅支持PowerShell环境
Clink工具支持CMD/PowerShell、功能丰富需要安装第三方工具

内容的提问来源于stack exchange,提问作者Milad Ashrafi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:59:59