蝦拼輸入法導致 Mac 輸入速度過慢 解決方法

以前有段時間有在用iPad(那時系統還在iOS6),身為蝦米一族,為了方便中文輸入,所以裝了蝦拼輸入法。

接著再使用我的Mac時,發現在Evernote上打字變得奇慢無比,每打一個字就會卡住,到了完全不能做事的狀態,而在其他應用程式裡,雖然不會這麼慢,但也常出現明明打英文字,按了空白鍵後,會自己轉成相對應嘸蝦米輸入法的中文,十分惱人。

我原先不曉得iCloud會把iPad上設定的鍵盤字詞庫同步到Mac上,所以這個問題困擾了我很久,每次要用evernote時,只好打開網頁版,挺麻煩的。

直到今天忽然意識到這問題可能跟詞庫有關,於是進到鍵盤偏好設定一看,Bingo! 之前在iPad上設的嘸蝦米詞庫,全都跑進我的Mac裡了。所以我每打一個字,它就會到上千筆的詞庫裡去查找一遍,難怪這麼卡慢。於是上網搜尋了一下,終於解決了。

若有遇到類似問題的朋友,可以參考以下步驟處理:

1. 查看字詞庫:

點「系統偏好設定」→「語言與地區」→ 右下角「鍵盤偏好設定」→ 選上方「文字」。確認裡面是否有上千筆的字詞? 如果有,可能這就是打字卡慢的原因了。


2. 快速刪除字詞資料庫:

因為上千筆字詞真的很多,在偏好設定頁面裡一一刪除會非常慢,所以直接刪資料庫會快得多。

  1. 進入資料夾:
    打開Terminal , 輸入:
    cd /Users/[your username]/Library/Dictionaries/CoreDataUbiquitySupport/[your username]~[...]/UserDictionary/[...]/store/
    其中[...]為數字或英數混合的字串,每個人會有點不同。
    (遇到此處時可按tab鍵,就會自動填入,或者顯示可能的選項。如果不會用的話,就打開Finder對著看一下吧)
    如此就進到store的資料夾裡頭,在這底下有個資料庫檔案:
    userDictionary.db

  2. 用sqlite3刪除資料庫內容:
    在terminal裡,輸入
    $ sqlite3 UserDictionary.db  
    會看到以下畫面:
    SQLite version 3.7.13 2012-06-11 02:05:22
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    接著再輸入:
    sqlite> delete from ZUSERDICTIONARYENTRY;
    就大功告成了。

補充說明:

有網友反應,過一陣子iCloud又會把它同步回來,我現在才剛設定完,不確定是否會遇到此情形。
如果有發現更好的解法,之後再更新上來吧。

參考資料:
https://sites.google.com/site/wyvern2000/home/it/mac-osx/ixiapin-user-dictionary-cause-mavericks-slow

留言

這個網誌中的熱門文章

[Issue] Android Studio專案 一直卡在Gradle:resolve dependencies':app:debugCompile'

[Android] Activity vs Fragment & Fragment vs View