今天在整理 .css 和 Markdown 文件的时候(尤其是 Markdown),碰到中英文混输的情况,我用的是百度输入法,输入完中文,按 进入正常模式,进行指令操作的时候总是会弹出百度输入法的选词框,看起来特别不舒服,用起来也特别别扭,很多指令没法执行不说,还得去删除百度输入法输入框里的字,于是开始 Google 各种解决方法,找到两个靠谱的.
VimIM
Google Vim 中文
,唰地一下出来的基本上全是 VimIM 的东西,看来这个插件的使用还是非常广泛的,广大程序猿对 VimIM 的评价也非常高
这是在豆瓣上大家们对 VimIM 们的评价,看的出来在它刚出来那会确实是火了好一阵.不过那都是 09 年了.
VimIM 的项目地址:GoogleCode,或者 Vim
VimIM 的安装,就跟所有 Vim 插件一样简单粗暴
从 github 将文件下载下来,然后将 plugin
下的文件放到 ~/.vim/plugin
中,如果 .vim
文件夹中没有 plugin
,就自己创建一个,直接拖过去也行.
这里面包含的文件有插件文件和词库,.txt
结尾的两个文件一个是英文词库,一个是五笔词库,还有一个 vim.gbk.bsddb
我愣是没搞清楚是什么东西,不过网上有人提供了拼音词库,下载后放入 plugin
文件夹既可使用.
接下来是引用:
怎么用这个东西来在 Vim 中输入中文呢?
【经典动态模式】
1. :let g:vimim_static_input_style=0 (缺省).
2. 输入过程中一直出选择项目,或者说,每敲一个字母就蹦出一个选词菜单。
3. 空格键上汉字,回车键上英文。用数字键确认汉字。ESC 键输出英文并退出 VIM 插入模式。
4. 在中文输入模式时,自动开启中文标点,若想输入英文标点,可先按 CTRL+6 后再输入。【Sexy 静态模式】
1. :let g:vimim_static_input_style=2
2. 包括〖点石成金〗全部功能.CTRL+开启,再按 CTRL+关闭,开启时光标是绿色的。
3. 空格键出选词菜单,数字或者字母选词,再空格键上词。
4. 英文标点之后,空格键出中文标点.
5. 回车键上英文,上英文后再按回车上空格。
6. 想回到英文输入状态,可按 CTRL+6.
7. 在我的电脑里面,在这个模式下输入编码后光标偶尔不会在最后一个字符后面,按空格后正常,如果你也有这样的情况,请按下空格键吧。
我自己试用了以后,认为具体操作是这样的:
- 打开 Vim
- 输入 gi 进入中文编辑模式
- 按 进入动态输入模式(也就是输入字母出现候选框)
- 选择文字
不过最后才发现的是,这玩意说白了是在 Linux 下折腾的东西,在 Mac 上折腾,有些水土不服,并且,这玩意于 09 年开发,到现在也没见更新什么的,在 Vim 上使用总是有很大的延迟,并且这个输入法并不好用,最终放弃了这个方法,转下下边的解决方案.
set noimdisable(力荐)
这也是 Google 到的,仅在 .vimrc
中添加一行配置既可完美解决
autocmd BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn} set noimdisable
autocmd
是一个自动监测命令,BufRead,BufNewFile *.{md,mdown,mkd,mkdn,markdown,mdwn}
则是设定为仅当打开的文本是 Markdown 的时候才执行,set noimdisable
则是切换输入法的指令.当然你可以设置任意你想设置的文件类型.
这样设置时,当你打开 Markdown 文件时,进入插入模式会自动切换到百度输入法(对我来说),按 进入正常模式的时候又会切换回系统默认英文输入法,而当打开其他类型的文件时,则不会执行这个操作.
一个有关“Vim 中英文输入切换”的想法