问题现象

记录一次 macOS 输入法卡顿的现象问题,特别是在 Typora 编辑器下编辑时会特别卡顿。

在一个平常的日子,跟往常一样打开 Typora 编写md文件,发现打字时极其卡顿,基本上每敲出一个字符都会卡一下。

问题分析与解决方案

先说解决方案:将 macOS 下“设置”-“键盘”-“输入法”下的自定义短语删掉即可。

因为在其他软件上感觉还好,基本没什么卡顿,测试软件为 IDEA 和 VSCode ,所以就怀疑是不是 Typora 的原因。

所以就Google了“ Typora for mac 打字卡顿”,看到一个帖子https://www.v2ex.com/t/837163,大致内容如下:

image-20231122172613926

同时,又在另一个blog下,说可能是因为 Typora 的“自动保存”功能导致的,关闭掉之后有效缓解卡顿。但我发现他是 Windows 版本的,在 macOS 版本下,我把 Typora 的配置翻烂了也没找到。

于是,在一个帖子上找到了相关解释。

image-20231122173339756

GitHub 的issues链接:[https://github.com/ Typora / Typora -issues/issues/1641](https://github.com/ Typora / Typora -issues/issues/1641)

至此,我一度怀疑就是 Typora 的原因,在此期间内心一阵疯狂吐槽。。。

回想最近,我也没有动过 Typora 软件,也没有升级过。但还是检查了下是否有最新版本,发现有一个小版本可以更新,更新完之后,还是一点用没有。甚至我还找到历史版本随便下载了一个早期的大版本,发现也不行。

至此,我都想吐槽自己, Typora 突然卡顿,在我确定没动过版本的情况下,怎么可能是因为版本的原因呢。

于是,我又怀疑是 Typora 打开的目录下的md文件太多的原因,于是打开了一个只有一个md文件的目录,发现还是如此。

在 Typora 上各种尝试之后,我发现在源代码模式(command+/)下,编辑不会卡顿。因此我更加怀疑,不会真的是 Typora “所写即所得”的特性导致的吧。内心奔溃,因为如果真的如此,我这花原价购买的许可证岂不浪费了,血亏。。。

理智告诉我, Typora 应该不至于如此垃圾吧。。。毕竟这个卡顿现象也太严重了,网上却并没有很多相关资料。

于是,我又在网上各种查阅,百度、Google齐上阵,在使用搜索引擎时,打字输入搜索关键字时,我发现也会有点卡顿,在百度的搜索框下比较明显。(内心还吐槽了一阵百度[捂脸])

突然,灵感突发,在 Typora 上打字是卡,复制粘贴时却不卡,一开始还以为是复制的内容量小,于是故意复制很长一段富文本内容,粘贴发现并没有什么卡顿。因为如此,我就感觉不是 Typora “所写即所得”的特性导致的。

既然是打字卡,那有可能是输入法导致的。于是回想了下最近,因为一直使用的是macOS原生的简体中文输入法,感觉原生输入法在敲一些长句或者网络流行句时需要手动找半天,不像国产输入法那样,都会有一些网络词库,于是就安装了个百度输入法体验体验,最后实在是用不习惯,又卸载了。

既然又想继续使用原生输入法,又想体验国产那些网络词库。因此就找网上找到一些解决方案,大致就是将其他输入法的词库导出出来,通过工具转换成macOS原生输入法的词库(.plist后缀结尾的文件),然后将该词库拖拽到输入法的自定义短语下即可。(在macOS 14.1.1下,“设置”-“键盘”-“文字输入”-“自定义短语”)

image-20231123135025399

搞完之后,发现还挺好用,于是就一直这样设置的。却忽略了一点,那就是词库量可能比较大,影响到了输入法输入时的效率。

macOS的“自定义短语”功能,猜想一下应该是在用户输入时,输入法会根据输入内容实时检索短语列表,而且这个检索不仅是在简体拼音下有效,对于“ABC”这种英文输入法也会有效,而导致于在 Typora 编写时,敲一个“ `` ”都非常费劲。

既然是猜测词库量太大导致的,我就索性直接把所有自定义短语都删了,再在 Typora 下试了下,健步如飞。。。

再去百度搜索引擎下测试了下,也是一样,健步如飞。。。

总结

从出现这个问题,到解决问题,差不多花了快3个小时,一方面是还需要忙工作上的事,另一方面主要还是陷入到了自己的愚蠢中。

对于问题的出现,不应该一股脑的去瞎尝试(更新 Typora 版本),也不应该过渡依赖搜索引擎。问题是自己导致的(虽然在一开始不知道),应该从自身出发,先通过各方面测试确定到底是哪一步导致的,再回顾自己最近的操作,通过一步步还原去查明真相,最后解决问题。

如果对于问题实在是一头雾水,借鉴搜索引擎是必然的,毕竟总要有希望能遇到他人的前车之鉴。