中文状态下按 \ 键,屏幕上蹦出来一个反斜杠,不是顿号 、。
我盯着光标旁边那个孤零零的 \,又按了 Ctrl+. 切一下,顿号才出来。每次写中文文档都要多按一次快捷键,忍了几个月没管。直到有一天决定彻底干掉这个毛病。
根因其实很明确:搜狗有个「标点跟随中英文」的选项,没勾上。默认标点模式卡在英文,所以 \ 就是 \,/ 就是 /,想打 、 得先手动切。理论上打开那个开关就完事。但我是想直接改配置文件,一劳永逸,省得每次重装输入法又踩一遍。
先找搜狗的配置在哪
搜狗的配置散落在两个地方:
C:\Users\<用户名>\AppData\Local\SogouPYC:\Program Files (x86)\SogouInput
我并行查了注册表和这两个路径。结果------都不存在。这台机器上 Administrator 这个账号下压根没装搜狗,或者装的是别的形式。
正常人的反应是:那装一个不就行了。但问题是,我当时在一个 Windows 沙箱环境里干活,装不了东西,只能探测。
工具链全崩了
接下来是最离谱的部分。我要确认搜狗到底存不存在,手头的工具却一个个不给力:
- Bash 是阉割版,
grep、tr、head全没有,cat和wc也没有; - PowerShell 的 stdout 完全不回显,我跑了一句
Get-Date,输出被吞了,屏幕上什么也没有; - 我试了三次,每次 PowerShell 都静默执行,连报错都不吐。
等于说,两条常规探测路径全断了。你没法 grep 一个不存在的文件,你也看不到 PowerShell 到底返回了什么。
写文件再读:沙箱里的土法
最后的办法很土:让 find 把搜狗相关路径搜出来,结果写进工作区的一个 txt 文件,然后用 Read 工具把那个文件读回来。
流程是:
find / -name "*Sogou*" > D:\1workbuddy_task_1daily\sogou_scan.txt 2>&1- 用 Read 工具打开
sogou_scan.txt - 文件是空的
空的。不是「没找到」那种空,是文件压根没被创建,或者创建了但沙箱对 C: 盘的 AppData 访问被限了,find 根本没权限走进去。
到这里我没法下「这台机器没装搜狗」的结论------也可能是沙箱的权限边界把 C: 拦了。但能确认的是:在默认路径下,搜狗的配置不可达。
能带走的三条经验
这次折腾没最终改到搜狗配置,但过程里的几个判断可以复用:
- 先确认环境,再定位问题。 花了前 80% 的力气去查一个可能不存在的文件。如果第一步就
ls一下 Program Files,早三分钟就能发现搜狗根本没装在这个用户下。 - 沙箱/受限环境里,「写文件 + 读文件」是万能回退。 当 stdout 被吞、管道被截、grep 被阉,把任何命令的输出重定向到一个已知可读的目录,再读回来,比反复试错强十倍。
- 工具不可用时,别硬刚。 PowerShell 不回显,我就放弃了,改用 find + 落盘。没有一条路走通就换一条,别在同一个坑里多待 30 秒。
至于搜狗那个顿号问题本身,最省事的解法就一步:搜狗输入法设置 → 详细设置 → 中文标点 → 勾上「标点跟随英文」。勾上之后 \ 在中文态自动变 、,不用按任何快捷键。配置文件改默认值是把双刃剑------搜狗升级后路径和字段随时可能变,勾个选项反而更稳。
做自动化这几年,最耗时间的从来不是写代码,是摸清每个平台的脾气。
这篇里提到的坑,都是真金白银踩出来的。 如果你手上也有重复度很高的活儿------批量发布、数据搬运、有固定规则的机械操作 ------可以在评论区说说你的场景,我看看能不能自动化掉。