如何在Ubuntu系统VSCode+Vim环境下无需手动切换布局使用俄语等其他语言?
Ubuntu 系统 VSCode + Vim 环境免手动切换多语言布局解决方案
方案1:搭配fcitx5输入法框架实现自动切换(最稳定)
1. 安装配置fcitx5
- 执行命令安装fcitx5及俄语输入法组件:
sudo apt install fcitx5 fcitx5-config-qt fcitx5-russian - 设置系统默认输入法框架为fcitx5:
sudo im-config -n fcitx5 - 重启系统后验证fcitx5运行状态,正常执行以下命令会返回
1:fcitx5-remote - 若返回异常,在
~/.profile文件末尾添加以下环境变量配置,重新登录后生效:
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5
2. 配置VSCode Vim插件
- 打开VSCode设置页面,勾选
Vim: Auto Switch Input Method选项,开启输入法自动切换能力 - 搜索
Vim: Fcitx5 Remote Path配置项,填入fcitx5-remote工具的绝对路径(可通过which fcitx5-remote命令查询,默认路径为/usr/bin/fcitx5-remote) - 搜索
Vim: Normal Mode Input Method配置项,填入数值1,对应fcitx5的英文输入状态
配置完成后进入插入模式会自动保留你上次使用的俄语布局,按下Esc回到普通模式时会自动切回英文布局,无需手动切换。
方案2:XKB底层绑定(无需更换输入法框架)
如果你不想替换当前的ibus框架,可以直接在XKB层面给Esc键绑定自动切换英文布局的逻辑:
- 编辑XKB按键配置文件:
sudo nano /usr/share/X11/xkb/symbols/pc - 找到
<ESC>键对应的配置行,修改为以下内容:key <ESC> { [ Escape, Escape ], actions[Group1] = [ NoAction(), SwitchInputGroup(group=1) ] }; - 重新加载XKB配置,同时设置布局切换快捷键:
setxkbmap -layout us,ru -option grp:alt_shift_toggle
配置完成后每次按下Esc回到Vim普通模式时,会自动切到英文布局,插入模式下可以正常使用俄语布局,无需额外手动切换。
原xkb-switch失效问题排查
你之前使用xkb-switch失效大概率是ibus框架对XKB切换调用的兼容性问题,更换为fcitx5框架后可以直接在VSCode Vim插件的Vim: Input Method Switcher Path配置项填入xkb-switch的绝对路径,也可以实现同样的自动切换效果。
内容的提问来源于stack exchange,提问作者Dmitry
相关产品推荐
相关产品推荐

