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

Git Bash中如何将焦点切换至启动的外部程序?

问题描述

OS:Windows 11
git version:2.23.0.windows.1

在Git Bash中执行启动外部程序(例如gvim、gitk等)的命令时,新程序会在后台打开,Git Bash仍保持活动窗口,如何设置让新打开的程序自动获取焦点?

背景:

  • 更换Windows 11笔记本后出现该问题,此前Windows 10旧设备可正常自动切换焦点;
  • 已检查~/.bashrc、~/.bash_profile、~/.minttyrc和~/.gitconfig文件,未发现相关配置。
解决方法

方法1:修改mintty配置

Git Bash基于mintty,直接修改~/.minttyrc添加以下配置:

focus=follow

保存后关闭所有Git Bash窗口重新打开,后续启动外部程序时焦点会自动切换到新窗口。

方法2:用脚本包装启动命令强制激活窗口

如果方法1无效,可编写bash脚本调用Windows工具激活窗口:

  1. 在用户目录创建launch.sh文件,内容如下:
#!/bin/bash
"$@" &
sleep 0.2
# 通过powershell查找并激活目标程序窗口
powershell -Command "(Get-Process -Name $(basename "$1")).MainWindowHandle | ForEach-Object { [void][System.Diagnostics.Process]::Start('powershell', \"-Command (Add-Type -Name Window -Namespace Console -MemberDefinition '[DllImport(\\\"user32.dll\\\")] public static extern bool SetForegroundWindow(IntPtr hWnd);') -PassThru | Out-Null; [Console.Window]::SetForegroundWindow($_)\") }"
  1. 给脚本添加执行权限:
chmod +x ~/launch.sh
  1. 用脚本包装启动命令,比如:
~/launch.sh gvim
~/launch.sh gitk

注:sleep 0.2是给程序启动留足窗口创建时间,可根据实际情况调整时长。

方法3:升级Git版本

当前使用的Git版本(2.23.0)较为老旧,Windows 11的兼容性问题可能在新版本中已修复,建议升级到最新版Git for Windows,默认配置大概率会自动解决焦点切换问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 19:22:05