macOS中英文输入法自动切换方案

on under auxilary
1 minute read

0x1 vim中英文自动切换

vim使用fcitx-vim-osx插件,使用中fcitx-vim-osx要求添加ctrl+shift+z为切换英文|百度五笔输入法快捷键

0x2 系统输入法设置

  • 使用百度五笔输入法并设置百度五笔输入法中只能使用中文输入(“删除”百度五笔的英文输入方式),在将百度五笔切换成中文输入后如下设置

  • keyboard maestro设置英文|百度五笔输入法的切换快捷键为command_leftshift_left,可实现按一下左command键或左shift键实现中英文之间的切换,如下:

注意:下图这里一定要设置为tapped,否则容易和系统其他快捷键冲突,如command+c/command+v等常用快捷键

更新:

上面的用keyboard maestro设置按一下command_leftshift_left实现Type the control+shift+z由于keyboard有bug且官方一直未解决,导致这个方法每次重启机器后需要再次设置来手动激活,放弃这种方法,改为使用karabiner来实现按一下command_left实现中英文之间的切换,需要增加一个karabiner配置如下:

相关配置代码如下:

{
    "description": "Left Command -> ctrl+shift+z",
    "manipulators": [
        {
            "from": {
                "key_code": "left_command"
            },
            "to": [
                {
                    "key_code": "left_command"
                }
            ],
            "to_if_alone": [
                {
                    "key_code": "z","modifiers": ["control","shift"]
                }
            ],
            "type": "basic"
        }
    ]
}

  • GhostSKB设置常用APP的初始输入法,如下:

  • keyboard maestro设置常用APP被切换回到使用状态时的输入法,如下(注意,如果用了上面的GhostSKB就不用在Keyboard maestro中如下设置,两个都用了甚至可能会冲突出bug,同样,用了如下设置Keyboard maestro就不用再用上面的GhostSKB):

  • 由于上面将chrome的默认输入法设置为英文输入,导致在经常使用的google搜索中文关键字时需要切换一次,可用keyboard maestro如下解决:

0x3 效果

  • 系统只保留两种输入法:系统自带英文输入法/百度五笔的中文输入方式
  • “删除”百度五笔的英文输入方式后,可在系统中cmd一键切换中英文输入法
  • 常用应用启动和切换到使用中时都会使用默认输入法
输入法
home
github
archive
category