iOS 输入两个横线--总是自动变成—?关掉这个开关就解决了
一、先说结论
iPhone 上连打两个短横--,会被系统自动改写成一条长破折号—。
根源:iOS 默认开启的智能标点(Smart Punctuation)会把两个连续的短横自动替换成破折号。
解决:
设置 → 通用 → 键盘 → 智能标点 → 关闭关掉之后,输入--就会保留两个普通减号。
二、不只是破折号,这一整套都会被改
智能标点是个「打包」功能,开启状态下会同时做这几件事:
| 你输入的 | 被自动改写成 | 说明 |
|---|---|---|
-- | — | 两个短横 → 长破折号 |
-(前后有空格) | – | 短横 → 连接号 |
"' | “ ”‘ ’ | 直引号 → 弯引号 |
... | … | 三个句点 → 省略号 |
对普通聊天没影响,但对写代码的人来说就是坑:
- 代码注释:
// 注意 -- 这里要特殊处理变成// 注意 —— 这里要特殊处理 - 命令行参数:
npm run build -- --mode prod - SQL / Shell:
a -- b这种双横线写法 - Markdown:想用
--做分隔,结果连成一条线 - 正则、日志格式、配置文件
最坑的是这个替换静默发生,输入法候选栏不提示,等你发现的时候已经发出去了。
三、解决方案:关闭智能标点
操作步骤
- 打开设置
- 进入通用
- 找到键盘(往下滑,在中后段)
- 找到智能标点
- 把开关关闭(变成灰色)
验证是否生效
回到任意输入框输入两个短横:
- 显示为
--(两条独立短横)→ 已生效 ✅ - 显示为
—(连成一条)→ 没关掉,重复上面步骤
⚠️ 注意:这是全局开关,不能只关一项
iOS 没有提供拆分选项,关闭后会同时关掉:
- ✅ 双短横 → 长破折号(你想要的)
- ❌ 直引号 → 弯引号
- ❌ 三个点 → 省略号
- ❌ 单横线 + 空格 → 连接号
也就是说:想保留弯引号和省略号、只干掉破折号替换 —— 苹果没有这个选项,只能在「全都要」和「全都不要」之间二选一。
四、不想全局关掉?三种绕过办法
1. 中间加空格
输入一个-,打一个空格,再输入第二个-,写成- -。中间隔了空格就不会触发转换,需要时再把空格删掉。
缺点是批量输入时很烦。
2. 复制粘贴现成的短横
直接从下面代码框复制,粘到需要的位置:
单短横:- 双短横:-- 长破折号(对比用):—代码块里是纯文本,粘贴进去不会再被二次转换。
3. 用「文本替换」做快捷输入(推荐)
- 设置 → 通用 → 键盘 → 文本替换
- 点右上角+
- 短语填
-- - 输入码填一个不会误触的组合,比如
dd - 保存
之后敲dd,候选栏就会出现--,选中即插入。这样既保留了智能标点的弯引号/省略号,又能随时打出双短横。
五、常见问题
Q1:关了智能标点,中文标点(。,、)会受影响吗?
不会。中文全角标点属于输入法层面,和系统的智能标点是两回事。
Q2:关闭后有性能或耗电影响吗?
没有。这只是输入层面的开关,作用仅限于「不再自动替换字符」。
Q3:能不能只关破折号、保留弯引号?
不能,苹果没有拆分选项,只能整开关。
Q4:升级 iOS 后会被重新打开吗?
有这个可能,大版本升级后建议顺手检查一遍。
Q5:微信、备忘录里也一样吗?
一样,跟随系统设置生效。
六、一句话总结
iOS 里
--变—是「智能标点」导致的。
路径:设置 → 通用 → 键盘 → 智能标点 → 关闭。
副作用:弯引号、省略号会一起失效,无法拆分。
舍不得弯引号就用「文本替换」,把dd映射成--。
关键词:iOS 关闭智能标点、iPhone 两个横线变破折号、Smart Punctuation 关闭方法、iOS 双横线自动转换、智能标点关闭影响