问题描述
用vim进行中文markdown写作时会遇到下面的窘境
- 当从insert模式切换到normal模式的时候,输入法仍然停留在中文输入,而normal模式是不支持中文输入的,因此需要切换回英文
- 当从normal模式切换回insert模式的时候,输入法又停留在英文,所以需要从英文切换到中文
解决方案
script来自lilydjwg/fcitx.vim
- vim添加到~/.vimrc
- neovim添加到.config/nvim/init.vim
function! Fcitx2en()
let input_status = system('fcitx-remote')
if input_status == 2
let b:inputtoggle = 1
call system('fcitx-remote -c')
endif
endfunction
function! Fcitx2zh()
try
if b:inputtoggle == 1
call system('fcitx-remote -o')
let b:inputtoggle = 0
endif
catch /inputtoggle/
let b:inputtoggle = 0
endtry
endfunction
" Autocmds:
au InsertLeave * call Fcitx2en()
au InsertEnter * call Fcitx2zh()