让 codex app 为你执行下面的内容::
# Hammerspoon 输入法控制迁移说明
这个迁移包包含 4 部分:
1. `Hammerspoon.app`
2. `.hammerspoon/init.lua`
3. `install-on-new-mac.sh`
4. 本说明文件
## 这包里已经处理好的内容
- `Hammerspoon.app` 是当前这台机器上可运行的 `1.1.1` 版本
- 它已经是可执行状态的 app bundle
- 当前配置里的目标输入法是:
```text
com.tencent.inputmethod.wetype.pinyin
## 迁移到新机器前提
- 目标机器需要是 macOS
- 目标机器上要安装并启用你想锁定的输入法
- 如果你仍然使用腾讯输入法拼音,这个 `wanted` 值大概率可以直接沿用
- 如果你换了别的输入法,需要改 `.hammerspoon/init.lua` 里的 `wanted`
## 推荐迁移方式
### 方式一:直接运行安装脚本
在解压后的目录里运行:
```zsh
chmod +x ./install-on-new-mac.sh
./install-on-new-mac.sh
脚本会做这些事:
- 备份目标机器上已有的 `Hammerspoon.app`
- 备份目标机器上已有的 `~/.hammerspoon/init.lua`
- 安装这个包里的 `Hammerspoon.app` 到 `/Applications`
- 覆盖 `~/.hammerspoon/init.lua`
- 启动 Hammerspoon
- 打开“辅助功能”权限页
### 方式二:手动安装
1. 把 `Hammerspoon.app` 拖到 `/Applications`
2. 把 `.hammerspoon/init.lua` 复制到目标机器的 `~/.hammerspoon/init.lua`
3. 启动 Hammerspoon
4. 在“系统设置 -> 隐私与安全性 -> 辅助功能”里允许 `Hammerspoon`
5. 重启一次 Hammerspoon
## 迁移后怎么验证
1. 切到你要固定的中文输入法
2. 按 `Ctrl + Option + Command + I`
3. 屏幕会显示并复制当前 `sourceID`
4. 如果显示值不是 `com.tencent.inputmethod.wetype.pinyin`,就修改 `init.lua` 里的 `wanted`
5. 切换几个 App,确认输入法会自动回到目标输入法
## 当前配置行为
- 切换 App 时,尝试把输入法切回 `wanted`
- 提供 `Ctrl + Option + Command + I` 用来读取当前 `sourceID`
- 提供 `Ctrl + Option + Command + L` 用来打印已启用输入源列表
- 开启了 `hs.autoLaunch(true)`,登录后会自动启动 Hammerspoon
## 注意事项
- 这套方案主要覆盖“切 App 时回到目标输入法”
- 它不是“任何输入框、任何场景都 100% 强制中文”
- 新机器如果没有装腾讯输入法,当前配置不会达到预期,需要先换成正确的 `sourceID`
脚本内容:
#!/bin/zsh
set -euo pipefail
SCRIPT_DIR=${0:A:h}
APP_SRC="$SCRIPT_DIR/Hammerspoon.app"
APP_DST="/Applications/Hammerspoon.app"
CONFIG_SRC="$SCRIPT_DIR/.hammerspoon/init.lua"
CONFIG_DIR="$HOME/.hammerspoon"
CONFIG_DST="$CONFIG_DIR/init.lua"
STAMP=$(date +"%Y%m%d-%H%M%S")
if [[ ! -d "$APP_SRC" ]]; then
echo "未找到 $APP_SRC"
exit 1
fi
if [[ ! -f "$CONFIG_SRC" ]]; then
echo "未找到 $CONFIG_SRC"
exit 1
fi
mkdir -p "$CONFIG_DIR"
if [[ -f "$CONFIG_DST" ]]; then
cp "$CONFIG_DST" "$CONFIG_DST.bak.$STAMP"
echo "已备份配置到 $CONFIG_DST.bak.$STAMP"
fi
if [[ -d "$APP_DST" ]]; then
mv "$APP_DST" "$APP_DST.bak.$STAMP"
echo "已备份现有 App 到 $APP_DST.bak.$STAMP"
fi
cp "$CONFIG_SRC" "$CONFIG_DST"
ditto "$APP_SRC" "$APP_DST"
xattr -dr com.apple.quarantine "$APP_DST" 2>/dev/null || true
open -na "$APP_DST"
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility" 2>/dev/null || true
cat <
安装已完成。
下一步请手动做两件事:
1. 在系统设置里给 Hammerspoon 开启“辅助功能”
2. 完成后退出并重新打开一次 Hammerspoon
如果你不是用腾讯输入法拼音,请修改:
$CONFIG_DST
当前 wanted 值:
com.tencent.inputmethod.wetype.pinyin
EOF
热门跟贴