使用了一段时间 rime 输入法, 这个输入法支持 vim 模式, 用起来还是挺方便的,但是打字效果太差了。
最后还是回归了原生的输入法,为了解决切换输入法的问题写了个 lua 脚本。
这里没有使用 im-select 是因为 im-select 在 mac 上切换会偶尔失效,所以我用了这个 macism
-- 记录当前输入法
Current_input_method = vim.fn.system("/usr/local/bin/macism")
-- 切换到英文输入法
function Switch_to_English_input_method()
Current_input_method = vim.fn.system("/usr/local/bin/macism")
if Current_input_method ~= "com.apple.keylayout.ABC\n" then
vim.fn.system("/usr/local/bin/macism com.apple.keylayout.ABC")
end
end
-- 设置输入法
function Set_input_method()
if Current_input_method ~= "com.apple.keylayout.ABC\n" then
vim.fn.system("/usr/local/bin/macism " .. string.gsub(Current_input_method, "\n", ""))
end
end
-- 进入 normal 模式时切换为英文输入法
vim.cmd([[
augroup input_method
autocmd!
autocmd InsertEnter * :lua Set_input_method()
autocmd InsertLeave * :lua Switch_to_English_input_method()
augroup END
]])