MacOS输入法切换最佳实践

#Mac #输入法

快速切换中英文输入法

写代码时, 经常要在中英文输入之间切换, 为了提高效率, 就想要实现一键切换输入法.经过尝试, 发现使用Control切换输入法效率最高. 自带的输入法可以通过caps lock切换, 但需要移动左手, 并且该输入法的词库太差. 使用Shift切换, 会导致在使用Shift输入大写字母时,有一定概率导致输入法切换. 而使用Control,不需要移动手,直接使用手掌根部按压即可.

如何实现Control切换输入法.

直接上结论: chrome浏览器在密码框中,会自动修改输入法为系统自带输入法.所以方案3是最完美的方案.

方案1

安装软件`ishud``. 可以指定 left control/ left option/ left command/right control/right option/right command 一键切换. 同时还可以在屏幕中间显示当前的输入法.

该方案简单,而且几乎完美.唯一的问题是,有些键盘对mac的兼容性不太好, 导致在两个不同键盘间切换时, 切换输入法的按键会变动.

另外, 该软件已经多年没有更新.

方案2

使用一些键位定制工具,如karabiner. 该方案太重, 如果没有其他更换键位的需求, 不建议该方案.

方案3

搜狗输入法支持使用Control切换中英文.所以需要删除MacOS自带的输入法,仅保留搜狗输入法.

~/Library/Preferences/com.apple.HIToolbox.plist文件中AppleEnabledInputSources, 删除KeyboardLayout Name U.S.

看似简单, 然而操作中会遇到以下问题.

  1. 由于plist文件不是纯文本的, 所以不能直接用文本编辑器打开, 需要转换. 打开terminal软件, 执行命令plutil -convert xml1 ~/Library/Preferences/com.apple.HIToolbox.plist
  2. MacOS会自动检测该文件,如果被修改, 则会自动还原. 所以需要使用文件锁点功能, 文件->右键->查看简介->锁定文件. 具体操作如下:
    1. 执行上面的shell命令,立即锁定文件. 使用文本剪辑器打开文件, 修改, 先不保存.
    2. 解锁文件,立即保存文件,再立即锁定.
    3. 重新打开文件, 查看文件内容, 确认文件是否被修改成功.