必须执行defaults write -g ApplePressAndHoldEnabled -bool false并重新登录,再设InitialKeyRepeat为15、KeyRepeat为2,最后killall SystemUIServer,才能使Mac终端支持方向键/Backspace长按连续触发。

Mac终端中按住方向键、Backspace或字母键无法连续触发,是因为系统默认启用了“长按弹出重音符号”机制,覆盖了正常的按键重复逻辑。必须用defaults write命令禁用该机制,并配合系统级参数重置,才能让终端真正响应长按连续输入。
彻底禁用重音长按弹窗机制
这一步是前提,不执行则后续所有调整都无效。macOS把长按字母键默认解释为调出à/á/â菜单,而非连续输入,Terminal和iTerm2均受此影响。
打开「终端」→ 粘贴并执行:
defaults write -g ApplePressAndHoldEnabled -bool false
【执行后必须退出当前用户会话再重新登录,仅关闭终端窗口无效】
登出方式:点击右上角苹果图标 → 「退出登录」→ 输入密码重新进入。
强制刷新系统键盘重复参数
禁用重音机制后,还需显式设定底层重复延迟与速率,否则部分终端仍沿用旧缓存值。
在终端中依次执行以下两条命令:
defaults write NSGlobalDomain InitialKeyRepeat -int 15
defaults write NSGlobalDomain KeyRepeat -int 2
【KeyRepeat值设为2是安全下限,设为1会导致方向键、空格等失灵】
执行完毕后,运行:
killall SystemUIServer
该命令强制刷新系统UI进程,使新参数即时生效,无需重启整机。
验证是否成功
方法一:在终端中输入任意字符(如 x),然后按住 ← 方向键不放——光标应持续左移,无停顿、无跳帧。
方法二:按住 Backspace 键删除文本——字符应成串消失,首删延迟低于150毫秒。
若仍只触发一次就停止,检查是否在 Terminal 设置中启用了「将 Option 键用作 Meta 键」:Terminal → 设置 → 配置文件 → 键盘 → 取消勾选该选项。

















