我不会编程,以下是我让ai写的,不管用,求助各位大佬。 我的系统是archlinux 安装了rime,框架是fcitx5 希望在vim模式下可以自动切换中英文。 谢谢!
import sublime
import sublime_plugin
import subprocess
class SmartImSwitch(sublime_plugin.EventListener):
# 获取当前输入法状态:返回 "1" 表示英文,"2" 表示中文
def get_im_state(self):
try:
result = subprocess.check_output(['fcitx5-remote'])
return result.decode('utf-8').strip()
except Exception as e:
print("Error getting input method state:", e)
return None
# 设置输入法状态,state 应为 "1"(英文)或 "2"(中文)
def set_im_state(self, state):
try:
subprocess.call(['fcitx5-remote', '-s', state])
except Exception as e:
print("Error setting input method state:", e)
# 当编辑器中的按键事件发生时触发
def on_activated(self, view):
self.check_and_switch_im(view)
def on_selection_modified(self, view):
self.check_and_switch_im(view)
def check_and_switch_im(self, view):
# 检查当前是否是插入模式
if view.settings().get('command_mode'):
# 普通模式,切换到英文输入法
self.set_im_state('1')
else:
# 插入模式,切换到中文输入法
self.set_im_state('2')