Monday, February 2, 2009

VimIM —— Vim 中文输入法

VimIM -- Input Method by Vim, of Vim, for Vimmers : : : : : : : 中文简体 : : : : : : : 中文繁體 : : : : : : : English
VimIM —— Vim 中文输入法

目录

* 概述
* 特点
* 免责声明
* 玩家体验
* WHAT IS NEW
o New in May 2010
o New in March 2010
o New in January 2010
* 【附录】
* 复活节彩蛋
* 内码输入
o Unicode 内码输入
o GBK 内码输入
o Big5 内码输入
* 数码输入
o 四角号码数码输入
o 中文电报数码输入
o 汉字笔划数码输入
* CLOUD 云输入
* 拼音输入
* 五笔输入
* 英文输入
* 各式流行输入
* 双码输入
o 拼音★四角号码
o 拼音★五笔划
* 输入法林林总总
o The Highest Realm
o 中文盲打
o 词库管理
o 词库格式
* VimIM Mapping
* 〖点石成金〗
o 概要
o 命令行窗口
o 中文搜索
o 输入记忆
o 整句一键输入
o 整句输入
o 逐词匹配
o 智能模糊匹配
o 中文数字量词
o 翻页选字
o 见字找码
o 动态造词
o 通配符匹配
o 其余选项
* 〖中文输入模式〗
o 〖经典动态模式〗
o 〖经典静态模式〗
o 〖Sexy 静态模式〗
o 皮肤
o 无缝混排
o 可控词频调整
o 一键改错
o 中文标点
* FAQ
* VimIM Foundation
* COPYRIGHT
o VimIM 的作者
o VimIM 的词库来源
* [科普]如何让Vim支持中文?
* 参考文献
* VimIM Log

VimIM —— Vim 中文输入法 logo

—— 子曰:“工欲善其事,必先利其器。”

VimIM 是专为 vim 玩家开发的插件,可作为 vim 内嵌中文输入法。
只要您的 vim 能显示中文,您就能用 vim 〖云〗输入中文。
VimIM 把 vim 的中文编辑潜能,提升到一个全新的高度。

vimimhelp 
错误报告 http://code.google.com/p/vimim/issues/entry
官方网址 http://vim.sf.net/scripts/script.php?script_id=2506
民间词库 http://vimim-data.googlecode.com
最新主页 http://vimim.googlecode.com/svn/vimim/vimim.html
新闻论坛 http://groups.google.com/group/vimim

概述
一个文本文件,构成一个中文输入法。插上联网就可以云输入。
如果再加上一二个文本文件,无需联网照样敲打中文,随心所欲。

程式文件用的是 vim script, 天生跨平台(Windows, Mac, Linux)
词库文件就是自己的输入法(全拼或双拼,五笔,英文,DIY)

所谓安装,就是把文本文件扔到 vim 的 plugin 目录之下。

单独插上【拼音】词库,就是vim拼音输入法(全拼或六种双拼)。
单独插上【嘸蝦米】词库,就是vim嘸蝦米輸入法。
同时插上【拼音★四角】,可以平行也可以交叉使用,无须切换。
同时插上【五笔★拼音】,可以平行使用,敲动态切换。

不设选项,不换模式,点就可以上汉字,是谓〖点石成金〗。
如果用切换成中文输入模式,也可以将就当前流行的输入法习惯。

所谓卸载,就是删除文本文件。


特点

* 【独立】不折腾  Plug & Play
* 【自主】不差钱  Open Source
* 【自力】VimIM 〖点石成金〗   〖想云就云〗 CLOUD 云输入
* 【更生】VimIM 〖中文输入模式〗 〖即插即用〗 双码输入
* 【高性能】中文英文输入和中文英文编辑,不分彼此,融为一体。
* 【低能耗】 史上最容易卸载的中文输入法
* 【和谐☆绿色】 No secret hidden glitch; No strings attached.
* 【自由☆免费】 Free as in freedom, as well as in free beer!



免责声明

DISCLAIMER:

* 以下内容杂乱无章,决不是正牌VimIM用户说明书之风格。
* 所有汉字全部是VimIM敲出。如有错字别字,不是VimIM中文输入法的责任。
* 所有功能都实现过。如有不实,请提供回馈信息。
* 如果发现排版有误,请参考纯结构化文本reStructureText



VimIM 玩家评论 Testimonials

* 众里寻她千百度
* 最完美的 vim 中文方案
* vim + IM == 才子配佳人
* vim → 历久弥新  VimIM → 锦上添花!
* 这是我见过的最帅的插件
* 神插件
* 太有创意了 ... 果然闻所未闻 ...
* 彻底终结了中文输入法转换的梦魇
* 因 vimim而更喜欢vim了!
* 我感动得都快要哭了
* 居然可以这样,所有的输入法可以去死了。
* 软件很华丽,作者很犀利,VIM 之国人神器。





玩家体验
怎么个玩法?
VimIM玩家自己的心得体会,就是VimIM最好的用户手则:

* 标题: 挂个贴宣传一下 VimIM 输入法
* VimIM -- 基于 Vim 的中文输入法 (LinuxGem)
* 强大的VimIM (blog)
* 不折腾——VimIM践行主旨 (wiki)
* VimIM ——利用vim自动补全制作的输入法
* 最早发现〖点石成金〗的VimIM粉丝
* 与抗美援朝风马牛不相及:用VimIM 敲韩语
* 排序多个词库文件成为一个词库
* 在VIM里方便的输入中文记 VimIM



WHAT IS NEW

* VimIM 快速指南
* VimIM 变更记录
* VimIM 最新程式
* VimIM 最新试用版本
* 自己的云



New in May 2010

* VimIM 鼎立支持 【小鹤双拼方案】 :let g:vimim_shuangpin_flypy=1
* VimIM 鼎立支持 【嘸蝦米输入法】 with 样本词库 vimim.boshiamy.txt
* 【注音】 完善繁體注音的支援 (welcome to test more)
* 【双拼】 fixed Shuangpin regression, which failed to access local datafile
* 【二笔】 made improvements over erbi, especially for dot
* 【行列】 made improvements, especially for slash and dot
* 【拼音】 improved support to include apostrophe in the datafile
* 以\开头的话后面像大写一样自动关闭拼音功能 :let vimim_backslash_close_pinyin=1
* 支持 optional 整句一键输入 one-to-one-translation without hassles


New in March 2010

* fixed Sogou Cloud access, which was broken by Sogou itself
* made VimIM compatible with plugins: supertab and autocomplpop(acp)
* adopted new release versioning method, 0.9.5 for this version
* found vimim-data project more user-friendly: 词库下载更方便!
* removed unexpected caret characters in data file vimim.wubijd.txt
* added VimIM 快速指南 http://code.google.com/p/vimim/wiki/QuickStart
* re-shuffled vimimhelp


New in January 2010

*

【安民告示】 新的缺省键终生不变
1. 按 在非中文模式直接出选择。      => 点石成金
2. 按 进入中文输入模式,此后按空格出选择。=> 中文输入模式
*

New Option Names

【小技巧】如果所用的vim支持CTRL-SPACE键的mapping,
     设置::let g:vimim_ctrl_space_to_toggle=1
     ㈠ It works for GVim.
     ㈡ It works for Console Vim using MinTTY.

【小技巧】可以定义Tab键为
     :let g:vimim_tab_as_onekey=1

*

【精兵简政】(obsoleting)
1. remove support to private file
2. remove CTRL-H 重新定匹配 g:vimim_smart_ctrl_h
3. remove 短码模式 g:vimim_quick_key
*

〖可控性云输入〗每输入N个〖字〗就云游
*

〖想云就云〗,不换模式,不限输入法

o 【卖点】东边日出西边雨,道是无云却有云!
o 【特点】不限于拼音输入法!不需要设置!
o 【特点】超级简拼自动加〖断字符〗
o 【条件】只需要联网和libvimim.dll/wget/curl
o 【限于】 〖点石成金〗  〖经典静态模式〗
o 【操作】在输入后加多一个单引号,接着敲
o 【例】ajiao' => ajiao 阿娇
o 【例】dbrcxby' => d'b'r'c'x'b'y 东边日出西边雨
o 【例】hfpjlswsqy' => h'f'p'j'l's'w's'q'y 好风凭借力送我上青云
o 【例】laystbz' => l'a'y's't'b'z 两岸猿声啼不住

*

强制非云

o 【特点】在输入后加英文句号,接着敲
o 【特点】不受g:vimim_cloud_sogou的设置所限制
o 【例】cloud. => 云

*

[new] 完善内码输入
o 用点石键直接点汉字,显示内码列表
o Unicode 彩蛋 vimimunicode=> 康熙字典部首列表
o 以u为十六进制内码输入的前导字符,动态列表
o 十进制内码一键输入: 22221 → 囍
o 无词库无联网:abcdefghijklmnopqrstuvwxyz 上单词

每一个汉字都是“活”的。
(vim插入模式)在任何一个汉字或全角标点后面敲
(1) 汉字 => 重复出前一个字。
(2) 汉字 => dump out the whole menu

*

[new] 〖点石成金〗 双敲 图个舒服

* vim
* vimim

* [new] 〖Sexy静态模式〗 输入记忆

* smart
* smart

*

天下大势, 久分必合

〖中文输入模式〗三者择一:
:let g:vimim_static_input_style=0 (缺省)
㈠【经典动态模式】就是输入过程中一直出选择项目,
或者说,每敲一个字母就蹦出一个菜单。

:let g:vimim_static_input_style=1
㈡【经典静态模式】就是输入完后按空格出选择项目。
支持连续上字。

:let g:vimim_static_input_style=2
㈢【Sexy静态模式】(A) 对比【经典静态模式】去掉连续上字
(B) 对比【点石成金】加上连续上字,以及不少cool功能

*

universal imode 中文数字量词

o ' => 为输入小写中文数字的前导字符
o '' => 为输入大写中文数字的前导字符
o 【例】 '2000  => 二〇〇九
o 【例】 ''2000 => 贰零零玖

*

〖Sexy静态模式〗

* 【设置】 :let g:vimim_static_input_style=2
* 【操作】
o 【开启】—— 敲
o 【关闭】—— 敲
o 【退出】—— 敲
o 【功能】—— 包括〖点石成金〗全部功能,附加不少cool功能

* [new] Windows gVim 用户的福音:

* 【目的】使在微软Windows下玩VimIM云输入的体验更加柔和
* 【用法】下载新版 libvimim.dll 置于vim plugin 目录之下

*

[new] start a new way to deal with private datafile
For example: one data entry, with two ## at the end
ajiao 阿娇 ##





【附录】




复活节彩蛋

1. 确认您的 vim 能显示中文: [科普]如何让Vim支持中文?
2. 首先去 VimIM 官方网址 下载新版脚本
3. 然后把 vimim.vim 扔到您的 vim 的 plugin 目录之下

vim

vim 
1 文本編輯器
2 最牛文本編輯器
3 精力
4 生氣
5 中文輸入法

复活节彩蛋 vimim
vimim_egg.gif

vimim

vimim 
1 computer 电脑: Windows32_builtin_gui
2 Vim 版本: 702
3 VimIM 版本: 1056
4 encoding 编码: utf-8
5 fencs 编码: ucs-bom,utf8,chinese
6 datafile 词库: vimim.txt
8 datafile 词库: 四角号码
9 cloud 搜狗: 想云就云


 【操作步骤】

1. 下载新版脚本 vimim.vim
2. 把脚本扔到您的 vim 的 plugin 目录之下
3. 打开 vim (如果用Windows可以双击gVim.exe)
4. 敲 o 或 i 或 a 进入 vim 插入模式:
5. 敲 v
6. 敲 i
7. 敲 m
8. 敲
9. 〖结果〗 VimIM logo
10. 敲 p
11. 〖结果〗 输入全部菜单


* VimIM 彩蛋:经典 vim
* VimIM 彩蛋:环境 vimim
* VimIM 彩蛋:程式 vimimvim
* VimIM 彩蛋:帮助 vimimhelp
* VimIM 彩蛋:测试 vimimdebug
* VimIM 彩蛋:统计 vimimstat
* VimIM 彩蛋:设置 vimimdefaults



内码输入

VimIM 内码输入总结
内码 encoding 一键输入 动态列表
UNICODE utf-8 yes yes
GBK chinese yes yes
BIG5 taiwan yes yes

* 用点石键直接点汉字,显示内码列表。
* 以u为十六进制内码输入的前导字符,动态列表:u9999 → 香
* 十进制内码一键输入: 22221 → 囍
* 无词库无联网:abcdefghijklmnopqrstuvwxyz 上单词。
* Unicode 彩蛋 vimimunicode=> 康熙字典部首列表

Unicode 内码输入
vimim_unicode_digit.gif
vimim_unicode_hex.gif
Unicode 内码输入
Unicode 使汉字成为一种理想的电脑语言,没有国界。
用 VimIM 玩万国码的前提是 :set encoding=utf-8
[科普] http://zh.wikipedia.org/wiki/Unicode

万国码输入器

* 【广告】精巧细致的标准Unicode输入器,独此一家。
* 【理想】书同文、文同码、码同键。
* 【特点】与输入法和词库都无关:以不变应万变。
* 【用途】内码输入是输入非常用字符的有效途径。
* 【特点】一个字符对应一个代码,武林高手可以中文盲打。
* 【TIP】 UNICODE 内码一次性列表  :call CJK()

【演示】Unicode 内码一键输入:
   【例】 十进制:敲  22221  → 囍

【示意图】标准统一码动态列表

   【例】 十进制:敲  22220  → 囍 in 菜单
   【例】十六进制:敲  u56c0  → 囍 in 菜单

万国码一次性列表①   :call CJK()
decimal hexadecimal char
19968   4e00 一
39340   99ac 馬
40869   9fa5 龥

万国码一次性列表②   :call CJK16()
0 1 2 3 E F
4E00 一 丁 丂 七 与 丏
4E10 丐 丑 丒 专 丞 丟

4EE0 仠 仡 仢 代 仮 仯
4EF0 仰 仱 仲 仳 仾 仿

GBK 内码输入
vimim_gbk_digit.gif
GBK 内码输入
GBK 为汉字内码扩展规范,来自中国国家标准代码 GB 13000.1-93
用 VimIM 玩GBK标准内码的前提是 :set encoding=chinese
[科普] http://zh.wikipedia.org/wiki/GBK

GBK标准内码输入器

* 【广告】短小精悍的标准GBK内码输入器,只此一家。
* 【特点】与输入法和词库都无关:以不变应万变。
* 【用途】内码输入是输入非常用字符的有效途径。
* 【特点】一个字符对应一个代码,不知有无玩GBK的武林高手?
* 【TIP】 GBK内码一次性列表  :call GBK()

【演示】GBK 标准内码一键输入:
   【例】 十进制:敲  49901  → 马 (GB)

【示意图】GBK 标准内码动态列表
   【例】 十进制:敲  49900  → 马 in 菜单
   【例】十六进制:敲  uc2e0  → 马 in 菜单


Big5 内码输入
vimim_big5_digit.gif
Big5 内码输入
Big5 已被收录到台湾官方标准的附录当中,版本为Big5-2003
用 VimIM 玩Big5标准内码的前提是 :set encoding=taiwan
[科普] http://zh.wikipedia.org/wiki/Big5

Big5标准内码输入器

* 【广告】简单明快的标准Big5内码输入器,仅此一家。
* 【特点】与输入法和词库都无关:以不变应万变。
* 【用途】内码输入是输入非常用字符的有效途径。
* 【特点】一个字符对应一个代码,不知有无玩Big5的武林高手?
* 【TIP】 Big5内码一次性列表  :call BIG5()

【演示】Big5 标准内码一键输入:
   【例】 十进制:敲  45224  → 馬 (Big5)

【示意图】Big5 标准内码动态列表
   【例】 十进制:敲  45220  → 馬 in 菜单
   【例】十六进制:敲  ub0a0  → 馬 in 菜单


数码输入

VimIM 数码输入词库样例:
数码 词库 样本
四角号码 http://vimim-data.googlecode.com/svn/trunk/data/vimim.4corner.txt
中文电码 http://vimim-data.googlecode.com/svn/trunk/data/vimim.ctc.txt
交換碼 http://vimim-data.googlecode.com/svn/trunk/data/vimim.cns11643.txt
五笔划 http://vimim-data.googlecode.com/svn/trunk/data/vimim.12345.txt

四角号码数码输入
vimim_four_corner_3610.gif
vimim_four_corner_3111.gif
vimim_6021272260021762.gif
四角号码数码输入

* 【广告】小巧玲珑的四角号码输入器,别无分店。
* 【科普】 维基百科 四角号码
* 【四角号码】乃最早的有条有理的汉字编码(1925年)
* 【四角号码】见字可知码,按码可索字。而且不用拆字。
* 【四角号码】可以统一“识字、查字、编码、打字”。
* 【四角号码】可以实现“字典、电脑、手机”一路通。
* 【技巧】结合音码则是如虎添翼。
* 【参考】即插即用VimIM双码输入: 拼音★四角号码
* 【自动开启】如果plugin目录下有词库 vimim.4corner.txt
* 【鸣谢】电脑大师 Bram 发明推广Vim文本編輯器
* 【鸣谢】编码大师 王雲五 发明 四角號碼檢字法
* 【鸣谢】国文大师 胡适 推广普及四角号码:
o 横一垂二三点捺
o 叉四插五方框六
o 七角八八九是小
o 点下有横变零头

【自己动手试一试】:

1. 【目的】 纯数字 <==> 纯汉字
2. 下载新版脚本 vimim.vim
3. 下载新版词库 vimim.4corner.txt
4. 把两者扔到 vim 的 plugin 目录之下

【纯数字 ==> 纯汉字】:

1. 敲 o 或 i 或 a 进入 vim 插入模式
2. 连敲 6021272260021762
3. 敲点石成金键:
4. 用【空格键】上字,one by one
5. 结果: “四角号码”四个汉字上屏

【纯汉字 ==> 纯数字】:

1. 高亮选择“四角号码”四个汉字
2. 敲见字找码键:
3. 结果: 6021 2722 6002 1762 上屏


中文电报数码输入

* 【广告】身轻如燕的中文电码输入器
* 【科普】 维基百科 中文电码
* 【中文电码】史上最早的汉字编码(1880年)
* 【打字】敲数字可以上汉字
* 【查询】敲汉字可以查电码
* 【自动开启】如果plugin目录下有词库 vimim.ctc.txt

【自己动手试一试】:

1. 【目的】 电码 <==> 汉字
2. 下载新版脚本 vimim.vim
3. 下载新版词库 vimim.ctc.txt
4. 把两者扔到 vim 的 plugin 目录之下

【电码 ==> 汉字】:

1. 敲 o 或 i 或 a 进入 vim 插入模式
2. 连敲 00222429719310324316
3. 敲点石成金键:
4. 用【空格键】上字
5. 结果: “中文电报码”五个汉字上屏

【汉字 ==> 电码】:

1. 高亮选择“中文电报码”五个汉字
2. 敲见字找码键:
3. 结果: 0022 2429 7193 1032 4316 上屏



汉字笔划数码输入
对于某些生僻字,您有可能并不清楚它的拼音。
这时,您可以尝试使用VimIM提供的笔划输入功能。

样本笔画输入词库主要取自潘罗森笔画输入,为数码。
汉字笔画归类为五种:橫1 竖2 撇3 点4 拆5

* 【广告】最简单的笔划数码输入器。
* 【技巧】结合音码则是如虎添翼。
* 【参考】即插即用VimIM双码输入: 拼音★五笔划
* 【自动开启】如果plugin目录下有词库 vimim.12345.txt



VimIM CLOUD 云输入  〖想云就云〗
vimim_dream.png
cloud_world.gif
CLOUD 云输入

【官方介绍】

* 搜狗云输入跨平台、免安装、兼容各个主流操作系统和浏览器。
* 基于JavaScript技术,利用Ajax通信原理,采用B/S架构。
* 强大语言模型(4G 三元模型、trigger模型)和海量词库(200W)。
* 利用服务器的无限量的存储和计算能力,大幅提升输入准确率。

【点评搜狗】

* 搜狗整句识别率惊人,但只能在网页里输入,多有不变。(vimim group)
* 遗憾的就是每打开一个网页都要启动一下搜狗云输入法。(sogou bbs)
* 应用软件使用搜狗云输入法在版权上没问题。(linuxtoy.org)

【云史】

1. 2009年11月2日 搜狗宣布推出搜狗云输入法
2. 2009年11月11日 VimIM 宣誓入云
3. 2009年11月16日 史上第一支持五种双拼的云输入法诞生
4. 2009年12月1日 推出〖想云就云〗,不换模式,不限输入法
5. 2009年12月25日 支持 〖自己的云〗 既可本地也可远程

【必要条件】

* 入〖云〗必须联网
* 入〖云〗必须借助 libvimim.dll 或者 wget
* 入〖云〗必须使用汉语拼音:全拼或者双拼甚至简拼

VimIM CLOUD 云输入  双拼
vimim_shuangpin_abc.gif
vimim_shuangpin_microsoft.gif
vimim_shuangpin_nature.gif
vimim_shuangpin_plusplus.gif
vimim_shuangpin_purple.gif

【VimIM 云输入】

1.

〖全云输入〗每一个输入都〖云〗游
* 特点:每打一个字母都要向服务器请求一次。
* 手动开启:可设置 :let g:vimim_cloud_sogou=1
* 自动开启:
o Linux  如果vim plugin目录下没有词库
o Windows 如果dll或者wget置于vim plugin目录之下
2.

〖可控性云输入〗每输入N个〖字〗就云游
* 设置::let g:vimim_cloud_sogou=N
* (长的)诗词曲赋、新闻八卦、完整的句子拜托给〖云〗。
* (短的)私人信息、英文、词组、单字留给VimIM自己处理。
* 长短的定义没有统一的国际标准。玩家自己定标准。
* 例如:如果选项设置为5: 即每敲5个字以上就丢给〖云〗。
* 结果:本地词库和搜狗云端词库智能切换。
3.

支持〖断字符〗 解决含糊的办法是在含糊的地方贴上标签:
* 错:xianmeimeidepiaosuifengpiaoyang => 先美美地飘随风飘扬
* 对:xi'anmeimeidepi'aosuifengpiaoyang =>  西安妹妹的皮袄随风飘扬

Note: It is broken by Sogou CLOUD ... 搜狗自废武功 ...
4.

支持中文输入模式〖经典动态〗输入风格 (缺省)
* 如果希望体验搜狗入云的方式:设置 :let g:vimim_cloud_sogou=1
* 相比之下,VimIM 的〖可控性云输入〗灵活一些。
5.

支持中文输入模式〖经典静态〗输入风格
* 考虑到网速,这是VimIM云输入推荐的输入模式。
* 设置为 :let g:vimim_static_input_style=1
6.

支持强制非云
* 【特点】在输入后加英文句号,接着敲
* 【特点】不受g:vimim_cloud_sogou的设置所限制
* 【限于】 〖点石成金〗
* 【例】cloud. => 云
7.

推出〖想云就云〗,不换模式,不限输入法
* 【卖点】东边日出西边雨,道是无云却有云!
* 【特点】不限于拼音输入法!不需要设置!
* 【特点】超级简拼自动加〖断字符〗
* 【条件】只需要联网和libvimim.dll/wget/curl
* 【限于】 〖点石成金〗  〖经典静态模式〗
* 【操作】在输入后加多一个单引号,接着敲
* 【例】ajiao' => ajiao 阿娇
* 【例】dbrcxby' => d'b'r'c'x'b'y 东边日出西边雨
* 【例】hfpjlswsqy' => h'f'p'j'l's'w's'q'y 好风凭借力送我上青云
* 【例】laystbz' => l'a'y's't'b'z 两岸猿声啼不住

Note: It is broken by Sogou CLOUD ... 搜狗自废武功 ...
8.

支持彻底关闭云
* 【特点】明确是用自己的词库或者是用内码输入
* 【设置】:let g:vimim_cloud_sogou=-1
9.

支持 〖自己的云〗

* 【卖点】自己的云永远是最好的云
* 【本地插件】python
o 【缺省关闭】:let g:vimim_cloud_plugin=0
* 【远程插件】不限输入法!不需要词库!
o 【缺省关闭】:let g:vimim_cloud_pim=0


【设计思路】

1. VimIM 决不能被〖云〗和谐
2. VimIM 决不能被〖云〗折腾
3. VimIM 决不能被〖云〗忽悠
4. VimIM 同时坚信:他山之石,可以攻玉

【百花齐放】

1. 搜狗官方JavaScript浏览器客户端
2. Linux ibus: 多线程,双拼,无阻塞,无候词列表选框
3. 小小输入法:自然双拼,支持搜狗云输入法

【玩家福音】

如果想在vim中体验那朵传说中的〖云〗,
只需下载 vimim.vim 一个文本文件——即插即用。

VimIM CLOUD 云输入  全拼和简拼
vimim_cloud.gif
vimim_cloud_console.gif

【自己动手试一试】

 【目的】体验腾云驾雾

 【操作步骤】

VimIM CLOUD 云输入  即插即用 Plug & Play
Windows 用户 Linux 用户
㈠ 确认电脑联网
㈡ 下载 libvimim.dll 确认无词库
㈢ 置dll于plugin之下
㈣ 下载新版脚本 vimim.vim 并置于plugin之下
㈤ 打开 vim
㈥ 敲 o 或 i 或 a 进入 vim 插入模式
㈦ 敲 haofengpingjielisongwoshangqingyun
㈧ 敲 〖点石成金〗 键
㈨ 默念:〖云〗〖云〗〖云〗
㈩ 〖上屏结果〗 好风凭借力送我上青云



拼音输入

VimIM 拼音输入词库样例:
拼音 词库 样本
汉语拼音 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin.txt
拼音大词库 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin_huge.txt
fcitx大词库 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin_fcitx.txt
搜狗单双字 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin_quote_sogou.txt

VimIM 拼音输入总结:

1. 有omni菜单:

* 【标点翻页】逗号/句号 或者 减号/等号。翻页键可调。
* 【数字翻页】也可以把数字当作过滤器使用,减少翻页选字的盲目性。
* 【字母选字】abcdefghi 一一对应数字键1-9 可直接上上字
* 【空格键】直接上汉字,或上空格。
* 【回车键】或无缝上英文,或回车。
* 【一键改错】 将就传统输入法的用户体验

2. 无菜单:

* 【精确输入】可以把数码(四角号码或五笔划)当作拼音音调使用。
* 【无缝混排】支持 无缝混排
* 【中文数字】(静态模式)i2009 => 二〇〇九  I2009 => 贰零零玖
* 【中文量词】(静态模式)i5t => 五吨  id8 => 第八
* 【大块英文】敲 CTRL-\ 动态切换中英文输入模式。
* 【可控词频调整】 (缺省开启)
* 【智能模糊匹配】 (缺省关闭)
* 【通配符匹配】用星号键*匹配任意字符串或空串 (缺省关闭)
* 【输入风格】 〖中文输入模式〗 经典动态输入风格 (缺省开启)
* 【开启静态模式】可设 :let g:vimim_static_input_style=1

3. 【拼音★四角号码】

* 参见: 拼音★四角号码

4. 【拼音★五笔划】

* 参见: 拼音★五笔划

5. 双拼:

【双拼】 选择开启
智能ABC双拼 :let g:vimim_shuangpin_abc=1
微软双拼 :let g:vimim_shuangpin_microsoft=1
自然码双拼 :let g:vimim_shuangpin_nature=1
拼音加加双拼 :let g:vimim_shuangpin_plusplus=1
紫光双拼 :let g:vimim_shuangpin_purple=1
小鹤双拼 :let g:vimim_shuangpin_flypy=1



VimIM 五笔输入 【五笔★拼音】
wubi_pinyin.gif
五笔输入

VimIM 五笔输入词库样例:
五笔 词库 样本
五笔 86 http://vimim-data.googlecode.com/svn/trunk/data/vimim.wubi.txt
五笔 98 http://vimim-data.googlecode.com/svn/trunk/data/vimim.wubi98.txt
极点五笔 http://vimim-data.googlecode.com/svn/trunk/data/vimim.wubijd.txt

VimIM 五笔输入总结:

1. 有omni菜单:

* 【标点翻页】逗号/句号 或者 减号/等号。翻页键可调。
* 【数字键】数字键上字。数字标签与数字选字一一对应。
* 【空格键】上汉字,开始新的一轮五笔连打。或上空格。
* 【回车键】或无缝上英文,或回车。
* 【一键改错】 将就传统输入法的用户体验

2. 无菜单:

* 【无缝混排】支持 无缝混排
* 【英文输入】敲 CTRL-\ 动态切换中英文输入模式。
* 【点石成金】四码匹配,逐词上屏。
* 【通配符匹配】用 z 匹配壹个字符 (缺省关闭)
* 【输入风格】 〖中文输入模式〗 经典动态输入风格
* 【五笔连打】

3. 特点:

* 符合当前流行的五笔输入法习惯
* 四码自动上屏
* 空码(不存在的编码)时清除已输入编码
* 【缺省开启】:let g:vimim_wubi_non_stop=1

4. 【五笔★拼音】

* 【五笔输入】敲 CTRL-\ 动态切换五笔输入模式。
* 【拼音输入】敲 CTRL-\ 动态切换拼音输入模式。
* 〖特点〗 plug & play 即插即用 动态切换
1. 形码(例如:五笔)输入永远独立,插上就可以用。
2. 音码(例如:拼音)输入永远独立,插上就可以用。
3. 平行使用,两个输入法和平共处,互不干扰。



英文输入
英文可以给VimIM的主词库锦上添花。

【优点】 精确定位外国人名、外国地名、科学术语
【样品】 obama 奥巴马 欧巴马 #
【操作】 ㈠加入主词库 ㈡:sort u排序 ㈢存盘
【设置】 :let g:vimim_english_in_datafile=1
【成功案例】  外国政要译名之争的解决方案
英文输入样本文件
http://vimim-data.googlecode.com/svn/trunk/data/vimim.english.txt


和谐软体  Together in Harmony

* 主要问题:旧版缺省关闭所有选项:烦不胜烦
* 解决方案:新版自动开放常用选项:柳暗花明
* 理论基础:“不折腾”  BuZheTeng

各式流行输入

您可以挑选任何输入法:音码、形码、音形码、笔画码等等。
音码 词库 样本
自然 http://vimim-data.googlecode.com/svn/trunk/data/vimim.nature.txt
注音 http://vimim-data.googlecode.com/svn/trunk/data/vimim.phonetic.txt
吴语注音 http://vimim-data.googlecode.com/svn/trunk/data/vimim.wu.txt
粤语拼音 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin_canton.txt
香港拼音 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin_hongkong.txt
形码 词库 样本
仓颉 http://vimim-data.googlecode.com/svn/trunk/data/vimim.cangjie.txt
嘸蝦米 http://vimim-data.googlecode.com/svn/trunk/data/vimim.boshiamy.txt
郑码 http://vimim-data.googlecode.com/svn/trunk/data/vimim.zhengma.txt
速成 http://vimim-data.googlecode.com/svn/trunk/data/vimim.quick.txt
行列 http://vimim-data.googlecode.com/svn/trunk/data/vimim.array30.txt
新华 http://vimim-data.googlecode.com/svn/trunk/data/vimim.xinhua.txt
音形码 词库 样本
二笔 http://vimim-data.googlecode.com/svn/trunk/data/vimim.erbi.txt
永码 http://vimim-data.googlecode.com/svn/trunk/data/vimim.yong.txt



双码输入
VimIM 可使多种输入方式和谐并存,互不冲突而又相互补充。
VimIM 充分发挥个人的知识潜能,达到“人尽其能、物尽其用”的境界。

* 【用途】单码(音码或形码)为主,双码(音码加形码)为辅。
* 【单码特点】二个单码可混合使用,不用切换。
* 【双码特点】既不要求音码部分完整,也不要求形码部分完整。
* 【混合特点】双码优势互补,各尽所能。
* 【优点】用自己熟悉的输入方式,用自己定的规矩:怎么混也不乱!
* 【结论】最好的输入法是自己的输入法。


【主要问题】
经典音码:一音多字,一字多音。
流行形码:难学难记,万码奔腾。
现代混码:难记难学,各自为战。

【解决方案】
【前提】模模糊糊知道两种中文输入方式,但都不精通。
    第一步:寻找自己有点熟悉的输入方式
    第二步:结合与之相应的输入法词库
    第三步:按照自己定的规矩:想怎么打,就怎么打!
【答案】模糊 + 模糊 = 精确
【原因】VimIM 帮您转换词库里没有,但您心里有的输入码。

【理论基础】
【通俗】负负得正
【学术】近代数学模糊集合理论


双码输入 —— 拼音★四角号码  【字】
vimim_diy_im_single_char_1.gif
vimim_diy_im_single_char_2.gif
vimim_diy_im_single_char_3.gif
vimim_diy_im_single_char_4.gif
拼音★四角号码

即插即用VimIM双码输入的特点是:

1. 音码(例如:汉语拼音)输入永远独立,插上就可以用。
2. 数码(例如:四角号码)输入永远独立,插上就可以用。
3. 平行使用,两个输入法和平共处,互不干扰,无须切换。
4. 交叉使用,两个输入法各尽所能,优势互补,合二为一。

VimIM 双码输入 词库 样本
汉语拼音 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin.txt
四角号码 http://vimim-data.googlecode.com/svn/trunk/data/vimim.4corner.txt

天仙配 —— “拼音输入”配“四角号码输入”
VimIM 回避拼音重码的方法是形音结合,输入生僻字则
是直接用形码。形码的来源可以由玩家自己决定。
玩家完全可以用自己喜欢的甚至自己发明的形码。
VimIM 推荐的是四角号码。

当然,四角号码也有点学习曲线,但是,四角号码与我
们的Vim一样,值得一学。学好了终生获益。

VimIM 提供简单的方式,有机结合这一对鸳鸯,随叫随到。
玩家也许可以实现用拼音输入中文的最高境界:中文盲打。

双码输入 —— 拼音★四角号码  【词】
vimim_diy_im_double_char_5.gif
vimim_diy_im_double_char_6.gif
vimim_diy_im_double_char_7.gif
vimim_diy_im_double_char_8.gif

【操作】
(1) 抓上汉语拼音词库,扔到您的 vim plugin 目录之下
(2) 抓上四角号码词库,扔到您的 vim plugin 目录之下

词库 输入码 对应汉字
 A  ma 妈 麻 馬 骂 … 马 蚂 码 瑪
 B  71 厚 医 反 厨 … 唇 辱 馬 愿

敲中文

* 例如:插入单个汉字“馬”,可以任选如下三种方式:
*    ㈠ 单码(音码) 可敲入 ma 或 ma3
*    ㈡ 单码(数码) 可敲入 71 或 713 或 7132
*    ㈢ 双码(双码) 可敲入 ma71 或 ma7132
* 【注】三种输入方式互相独立,互不冲突,互相补充。


【字】
前一个音码长度可以任意,后前一个数码长度可以任意

输入法 插入 显示 菜单选择
纯音码 m a 妈 骂 馬 ... 21 个
纯数码 7 1 唇 辱 馬 ... 192 个
双码 m a 7 1    馬 唯一

【词】
前一个字长度任意,后一个字长度任意

输入法 插入 显示 菜单选择
纯音码 shanzhai  山寨 山寨化 4 个
纯数码 2277 3090  山 寨 永 7+8 个
双码 sh22zh30 山寨 唯一

【使用技巧】

1. 把数码(四角号码)当作拼音音调使用

* 有拼音匹配的,用完全匹配: ma77=>马 chuma7=>出马
* 无拼音匹配的,用模糊匹配: chma77=>出马 cm7712=>出马

2. 把数字(四角号码)当过滤器使用,另类的翻页选字。
3. 【例样】

* ma7li4 => 馬力
* mali4 => 馬力
* ma7li => 馬力
* ml47 => 馬力 (先敲ml4出菜单,再敲7过滤)
* ggy1 => 归功于 (精确定位)



即插即用 双码输入 —— 拼音★五笔划
vimim_diy_im_pinyin_12345_a.gif
vimim_diy_im_pinyin_12345_b.gif
拼音★五笔划

即插即用VimIM双码输入的特点是:

1. 音码(例如:汉语拼音)输入永远独立,插上就可以用。
2. 数码(例如:五笔划)输入永远独立,插上就可以用。
3. 平行使用,两个输入法和平共处,互不干扰,无须切换。
4. 交叉使用,两个输入法各尽所能,优势互补,合二为一。


【操作】
(1) 抓上汉语拼音词库,扔到您的 vim plugin 目录之下
(2) 抓上五笔划词库,扔到您的 vim plugin 目录之下

VimIM 双码输入 词库 样本
汉语拼音 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin.txt
五笔划 http://vimim-data.googlecode.com/svn/trunk/data/vimim.12345.txt

【使用技巧】

1. 把数码(五笔划)当作拼音音调使用

* 有拼音匹配的,用完全匹配: ma551=>马 chuma5=>出马
* 无拼音匹配的,用模糊匹配: cm55=>出马

2. 把数字(12345)当过滤器使用,另类的翻页选字。


汉语拼音 五笔划 拼音★五笔划
马 ma 551 ma551
馬 ma 1211254444 ma12112
出马 chuma 52252 551 cm551
出卖 chumai 52252 12544134 cm1254


输入法林林总总
The Highest Realm

中文输入的最高境界:
1 书同文、文同码 VimIM 首选 Unicode
2 和谐、绿色 VimIM 坚信 文本文件,天下无敌
3 不切换输入状态 VimIM 首创 〖点石成金〗
4 不改变输入习惯 VimIM 确认 天生跨平台
5 手机电脑一路通 VimIM 推荐 四角号码数码输入
6 自创中文输入法 VimIM 演示 拼音数字双码输入
7 输入编辑水乳交融 VimIM 依附 最牛文本編輯器
8 闭目养神 VimIM 体验 中文盲打
9 美女如〖云〗 VimIM 追求 〖想云就云〗

中文盲打

【目标】

* 求准不求快
* 不学习不培训:因为用的是自己的输入法
* 闭〖目〗养〖神〗
o 一边输入中文,一边休息眼睛
o “得神者昌,失神者亡” ——《内经》

【实现方式】

* VimIM  整句输入
* VimIM  逐词匹配  之 ㈠ 句号分隔,自己定匹配
* VimIM  CLOUD 云输入 之 ㈠ 〖可控性云输入〗

【测试】
1 〖云输入〗 woyouyigeqiguaidemeilidemeng
2 〖英文输入〗 i have a dream.
3 〖拼音输入〗 wo.you.yige.meng
4 〖即插即用双码输入〗 magic.sz2230.s9020.nfofo.ythc


词库管理

【无词库】

* 联网: 即插即用 VimIM CLOUD 云输入
* 无联网:利用 VimIM 内码输入

【带词库】

* 〖特点〗 plug & play
* 用VimIM 打字,只需一个词库。玩家可以从VimIM 词库样例中挑选。
* 如果想玩 即插即用 双码输入 :可以同时插入两个词库文件:
o 拼音★四角号码
o 拼音★五笔划
* 如果想玩〖即插即用〗〖动态切换〗可以同时插入两个词库文件:
o 五笔★拼音
o 二笔★拼音
o 仓颉★拼音
o 郑码★拼音
o 速成★拼音
o 行列★拼音
o 新华★拼音

【词库位置】

* 〖特点〗 多个词库: set & play
* 用户可以随意设置自己词库的位置:(例如)
o :let g:vimim_datafile="path_to_your_own_data_file"
o :let g:vimim_datafile_digital="path_to_your_own_digital_im_file"

【多功能词库】

* 〖特点〗 一个词库: set & play
* 用户可以在一个词库中混合几个输入法:(例如)
o :let g:vimim_datafile_has_english=1
o :let g:vimim_datafile_has_pinyin=1
o :let g:vimim_datafile_has_4corner=1



词库格式

VimIM 词库是开放式的纯文本文件,左码右字。
输入码 空格 汉字
mali 馬力
既可一行多字 (将其中第二列和第三列重复)
也可一码多行。例如:
ma 妈
ma 马 馬 吗 碼
ma4 骂
china 中国
chinese 中国人
chinese 中文 汉字

VimIM 词库格式 简单灵活。词库只要排好序就可以用。
排序易如反掌:在 『Vim 命令行模式』下,直接调用  :sort u

VimIM 对词库的设计是简单灵活,充分利用vim的编辑功夫。

比方说,我们想混合使用拼音词库和英文词库:

第一步:下载 vimim.pinyin.txt
第二步:下载 vimim.english.txt
第三步:vim vimim.pinyin.txt
第四步::r vimim.english.txt
第五步::sort u
第六步::wq

结果是我们做了一个新的词库: vimim.pinyin.txt
也就是说,我们创造了一个我们自己的中文输入法。




VimIM Mapping

【经典】VimIM only needs maximum two hot keys.

Vim插入模式

1. 按 在非中文模式直接出选择。
2. 按 进入中文输入模式,此后按空格出选择。

Vim 模式 敲 CTRL-\ 敲 CTRL-6
vim 正常模式 开启 〖中文输入模式〗 Vim 缺省功能
vim 插入模式 开启 〖中文输入模式〗 〖点石成金〗
〖中文输入模式〗 关闭 〖中文输入模式〗 中文标点 动态切换
vim 可视模式   见字找码 动态造词 (批量)

【小技巧】如果所用的vim支持CTRL-SPACE键的mapping,
     设置::let g:vimim_ctrl_space_to_toggle=1
     ㈠ It works for GVim.
     ㈡ It works for Console Vim using MinTTY.

【小技巧】可以定义Tab键为
     :let g:vimim_tab_as_onekey=1

【小技巧】玩家可以自定义热键:
     例如在.vimrc中,定义 CTRL-L 为中文模式开关
     imap


〖点石成金〗  (OneKey)
vimim.gif
〖点石成金〗
概要
英文字母为“石”,中文汉字为“金”:是谓〖点石成金〗
有玩家叹曰:使用〖点石成金〗,点出来的不是汉字,是惊艳。

推而广之,需要修改的中文汉字也可以为“石”。例如:石

卖点:保持 vim 缺省工作环境,没有所谓“状态”切换。
   在英文环境下玩中文:想输入就输入,想搜索就搜索。

【自己动手试一试】

 【目的】感觉一下〖点石成金〗

 【操作步骤】

1. 打开 vim (如果用Windows可以双击gVim.exe)
2. 敲 o 或 i 或 a 进入 vim 插入模式
3. 连敲四键: v i m
4. 敲 j 光标向下移动
5. 敲 k 光标向上移动
6. 敲 l 向下翻页


【主要特点】

【破旧立新】让中文输入回归自然
【无模式转化】无“状态”切换

* vim 插入模式:
o 【点石键】
o 【云输入】最方便的 CLOUD 云输入
o 〖想云就云〗不换模式,不限输入法: 加单引号
o 【整句输入】敲中文如同敲英文
o 【中文标点】可点击英文标点直接转换。
o 【匹配提醒】缺省匹配,以及总匹配数
o 【万国码】 Unicode 内码输入 直接上屏
o 【国标码】 GBK 内码输入 直接上屏
o 【大五码】 Big5 内码输入 直接上屏
* 菜单操作:
o 【中文搜索】可用 VimIM 中文搜索
o 【翻页选字】可用 vi 快捷键 翻页选字
o 【数字翻页】如果插上数码词库,数字键就是过滤器
o 【字母选字】_abcdefghi 一一对应数字键 1234567890
o 【一键改错】在omni菜单下,敲 q 键
o 【以词定字】可按 [ 或 ] 键
o 【汉字上屏】也可敲 y 键或点石键
* 快键:双敲 图个舒服
o vim
o vimim



命令行窗口
命令行模式是Vim的精华之一。
VimIM 用的是Vim标准命令行窗口。
:help cmdline-window

* 【开启】在Vim正常模式下按q:或者q?或者q:
* 【编辑】OneKey出菜单,空格键/字母键/数字键上汉字
* 【关闭】按回车执行命令,然后回到Vim正常模式
* 【基本用途】㈠搜索字符串㈡替换字符串

问:
有时候需要在command mode下输入中文,我该怎么做?
command mode对于Vim来说是它的精华所在,
很多高级功能都要在command mode下完成。
答:
另一个方案是利用 vim mapping, 归.vimrc控制。

例如: 如下 mapping 可作单行或多行操作:
nmap g: vg:
xnoremap g: :w! /tmp/_:source /tmp/_

操作: 如果想把文件中的"谷歌拼音" 换成 "VimIM中文输入":
㈠ (Vim Insert Mode) 敲入:    :%s/谷歌拼音/VimIM中文输入
㈡ (Vim Normal Mode) 敲map:  g:


中文搜索
中文搜索自然可以利用 命令行窗口 模式。
另外一种方式是在omni窗口中直接操作。

* 【经典】沿用 vi 搜索键,但 VimIM 推陈出新:
* 【Vim】功能不变:"/"正向搜索或"?"反向搜索。

VimIM 中文搜索  敲提示菜单 "/" 或"?" 确认
㈠ 【开始】 进入 vim 插入模式
㈡ 点出中文提示菜单
㈢ 【结束】正向搜索:敲菜单 / 键确认
【结束】反向搜索:敲菜单 ? 键确认
㈣ vim 回归正常,搜索内容不插入
㈤ 可以敲 n 键或者 N 键继续搜索

【自己动手试一试】

 【目的】搜索词组“精力”

 【操作步骤】

1. 用 vim 打开一个文件
2. 敲 o 或 i 或 a 进入 vim 插入模式
3. 连敲四键: v i m
4. 敲 l 向下翻页
5. 敲 k 光标向下移动
6. 敲 / 正向搜索
7. 敲 N 反向继续搜索



输入记忆

* 【卖点】Yes, VimIM can recycle!
* 【目的】重复利用用户输入,省时省力!
* 【开启】 【Sexy静态模式】 default on
* 【方式之一】利用 Ctrl-N
o 【特点】同一字母开头的输入只记住一次
o 【操作】在输入一个字母后,按
o 【操作】在汉字后按 => 重复该汉字
* 【方式之二】利用 Ctrl-P
o 【特点】记住用户所有输入记录
o 【操作】随便敲几个印象中的输入码后,按


不怕不识货,只怕货比货
比方说,我们想敲以下14个字,前后敲两遍:

重复打字不光荣,
光荣打字不重复。

用谷歌拼音,搜狗拼音,微软拼音:

$  chongfu dazi bu guangrong
$  guangrong dazi bu chongfu
$
$  (keep typing others) ...
$
$  chongfu dazi bu guangrong
$  guangrong dazi bu chongfu


用VimIM中文输入法:

$  chongfu dazi bu guangrong
$  g d bu c
$
$  (keep typing others) ...
$
$  cf dz bu gg
$  g d bu c


VimIM 整句输入,无“状态”切换
vimim_sentence_match.gif
整句一键输入
【输入】以句号分隔的编码
【操作】连续输入以句号分隔的编码后按〖点石成金〗键
【特点】无状态切换,无菜单,一对一直接转换
【开启】 :let g:vimim_insert_without_popup=1
【限于】 〖点石成金〗

【演示】整句一键输入,敲 VimIM 经典『我有一个梦』
我有一個夢
【英文输入法】 i.have.a.dream
【拼音输入法】 wo.you.yige.meng
【粤语输入法】 ngoh.yau.yat.goh.mung
【吴语输入法】 ngu.qyoe.iq.qku.qmon
【五笔输入法】 trde.ggwh.ssqu
【郑码输入法】 m.gq.avov.ffrs
【仓颉输入法】 hqi.kb.m.ol.ddni
【自然输入法】 wop.yb.yg'.mgx


整句输入
【前景】VimIM 中文盲打的理论基础。
【输入】正常英文句子结构,以 句号 结尾。
【卖点】敲中文如同敲英文。
【特点】无状态切换,亦无所谓智能组句,好歹可以上字。
【操作】连续输入短句或长句后按〖点石成金〗键。
【上屏】连续敲空格键或数字键选择匹配,手到字来。
【限于】 〖点石成金〗

【演示】无“状态”切换,敲 VimIM 经典『我有一个梦』
我有一個夢
【英文输入法】 i have a dream.
【拼音输入法】 wo you yige meng.
【粤语输入法】 ngoh yau yat goh mung.
【吴语输入法】 ngu qyoe iq qku qmon.
【五笔输入法】 trde ggwh ssqu.
【郑码输入法】 m gq avov ffrs.
【仓颉输入法】 hqi kb m ol ddni.
【自然输入法】 wop yb yg' mgx.

【自己动手试一试】

 【目的】敲 VimIM 经典『我有一个梦』

 【操作步骤】

1. 打开 vim (如果用Windows可以双击gVim.exe)
2. 敲 o 或 i 或 a 进入 vim 插入模式
3. (如用拼音词库)输入: wo you i1g meng.
4. (在句号后面)敲点石成金键:
5. 敲【空格键】或【数字键】上字: wo  => 我
6. 敲【空格键】或【数字键】上字: you  => 有
7. 敲【空格键】或【数字键】上字: i1g  => 一个
8. 敲【空格键】或【数字键】上字: meng => 梦



逐词匹配
vimim_word_by_word.gif
vimim_part_by_part.gif
逐词匹配
【输入】一气呵成输入大块编码。
【特点】先显示,再确认。
【上屏】连续敲空格键选择匹配,手到字来。
【卖点】打汉字眼花不缭乱,保护视力!
【限于】 〖点石成金〗

㈠ 句号分隔,自己定匹配:
【特点】 逐词匹配,逐词上屏。
【特点】 可以结合 智能模糊匹配
【演示】 一口气输入一长串用句号分隔的编码。
   【输入】pinyin.shuru.si4.jiao3.hao4.ma3.hhyy
   【匹配】拼音输入四角号码花好月圆

㈡ 无句号分隔,一气呵成:

【特点】 逆向最大匹配,逐词上屏。

【自己动手试一试】

 【目的】 一口气输入一个句子: 见到老师问声好

 【操作步骤】

1. 打开 vim (如果用Windows可以双击gVim.exe)
2. 敲 o 或 i 或 a 进入 vim 插入模式
3. 连敲: jiandaolaoshiwenshenghao.
4. 敲点石成金键:
5. 敲【空格键】或【数字键】上字: jiandao  => 见到
6. 敲【空格键】或【数字键】上字: laoshi  => 老师
7. 敲【空格键】或【数字键】上字: wensheng => 问声
8. 敲【空格键】或【数字键】上字: hao    => 好


㈢ 无句号分隔,每四数码上屏 (四角号码)
【特点】 四码匹配,逐词上屏。

【四角号码演示】
(1) 敲 o 或 i 或 a 进入 vim 插入模式
(2) 连敲 6021272260021762
(3) 敲点石成金键:
(4) 敲【空格键】或【数字键】上字,one by one
(5) 结果: “四角号码”四个汉字上屏

㈣ 无句号分隔,四码上屏 (五笔)
【特点】 四码匹配,逐词上屏。

【五笔演示】
(1) 敲 o 或 i 或 a 进入 vim 插入模式
(2) 连敲 trdeggwhssqu
(3) 敲点石成金键:
(4) 敲【空格键】或【数字键】上字,one by one
(5) 结果: “我有一个梦”五个汉字上屏。

智能模糊匹配  (VimIM fuzzy search)
vimim_fuzzy_search1.gif
vimim_fuzzy_search2.gif
vimim_fuzzy_search3.gif
智能模糊匹配

全拼模糊匹配

* 【优点】 能聪明地理解您的意图。
* 【特点】 符合一般拼音习惯,原则上N码 => N字
* 【擅长】 能够转换词库里没有,但您心里有的输入码。
* 【全拼缺省开启】: :let g:vimim_fuzzy_search=1

词库
huahaoyueyuan 花好月圆
输入 显示
h h y y 花好月圆
z a z e 战争 etc


【自己动手试一试】

 【目的】感觉一下 “智能模糊匹配”

 【操作步骤】

1. 下载新版脚本 vimim.vim
2. 下载拼音词库样本 http://vimim-data.googlecode.com/svn/trunk/data/vimim.pinyin.txt
3. 然后把这两个文本文件扔到您的 vim 的 plugin 目录之下
4. 打开 vim (如果用Windows可以双击gVim.exe)
5. 敲 o 或 i 或 a 进入 vim 插入模式
6. 先敲 huahaoyueyuan
7. 确认vim 显示“花好月圆” popup menu
8. 敲【空格键】或【数字键】上字: 花好月圆
9. 再连敲五键: h h y y
10. 确认vim 显示“花好月圆”“恢恢有余” popup menu
11. 敲【空格键】或【数字键】上字: 花好月圆



中文数字量词
vimim_quantifiers_lowercase.gif
vimim_quantifiers_uppercase.gif
vimim_quantifiers_id3c.gif
中文数字量词

VimIM 自然有阿拉伯数字和中文大小写数字和量词的转换能力。

1. VimIM keeps habit of (1)全拼(2)智能ABC双拼

* 【自动开启】 let g:vimim_imode_pinyin=1
* 【强行关闭】 let g:vimim_imode_pinyin=-1

i 为输入小写中文数字的前导字符
ii 为输入大写中文数字的前导字符

2. VimIM offers universal imode without limitation

' 为输入小写中文数字的前导字符
'' 为输入大写中文数字的前导字符

* 【开启可设】 let g:vimim_imode_universal=1
* We can use apostrophe instead of 'i' for all examples below:


中文数字
i2000  => 二〇〇九
ii2000 => 贰零零玖

中文量词
i1g => 一个  ii1g => 壹个  i8d => 第八
i1w8ql => 一万八千里  iww8ql => 十万八千里

VimIM 可以毫不费力玩智能ABC的样本例子:
i20090719 二〇〇九〇七一九
ii20090719 贰零零玖零柒壹玖
i2009n 二〇〇九年
i7y 七月
i20r 二〇日
i2sr 二十日
i2006n6y3sr 二〇〇六年六月三十日
ii6b8s2 陆佰捌十贰
isw8ql 十万八千里

常用单个量词的定义与智能abc类似:
a 秒 f 分 k 克 p 磅 u 微
b 百 g 个 l 里 q 千 w 万
c 厘 h 时 m 米 r 日 x 升
d 第 i 毫 n 年 s 十 y 月
e 亿 j 斤 o 度 t 吨 z 兆

鉴于单个量词不能满足输入中文的乐趣,
VimIM 加上 one to many, 把中文量词输入进一步智能化:
i2w ii2w
1 二万 贰万
2 二位 贰位
3 二味 贰味
4 二碗 贰碗
5 二窝 贰窝


翻页选字 【字母键上字】
vimim_label_abcdefghi.gif
翻页选字

【标点翻页】

* 【标点智能化】 标点既可导航,也可玩 中文标点
* 【翻页优化】翻页内容可来自cache: 云输入翻页的福音。
* 【标点】includes 逗号、句号、减号、等号、[、]、分号
* 【缺省开启】:let g:vimim_punctuation_navigation=1
o 彻底关闭可设::let g:vimim_punctuation_navigation=-1
o 关闭逗号句号::let g:vimim_punctuation_navigation=0
+ 在〖中文输入模式〗中关闭
+ 在〖点石成金〗中开启

Vim 按键 VimIM 快键 功能
  PageUp 减号(-) 或 逗号(,) 向上翻页
  PageDown 等号(=) 或 句号(.) 向下翻页
  【注】这是缺省翻页键。翻页键可调,见下表:
Vim 按键 VimIM 快键 功能
  PageUp 等号(=) 或 句号(.) 向上翻页
  PageDown 减号(-) 或 逗号(,) 向下翻页
  【注】:let g:vimim_reverse_pageup_pagedown=1

【数字键过滤】

* 【条件】 拼音★四角号码 或者 拼音★五笔划
* 【应用】 另类翻页选字
* 【特点】 如果插上数码词库,数字键就是过滤器

【数字键上字】

* 数字键1234567890直接上汉字:
o 起始状态或翻页选字之后,数字键永远对应数字标签。
o 如果光标移动(ujkl),数字相对光标位置。

【字母键上字】

* 字母键 z (zero) 归零:回归起始状态。
* _abcdefghi 一一对应数字键1234567890 优于快速选码。
1. 第一重码:1 或 空格键
2. 第二重码:2 或 a 或 ;
3. 第三重码:3 或 b
4. 第四重码:4 或 c
5. 第五重码:5 或 d
6. 第六重码:6 或 e
7. 第七重码:7 或 f
8. 第八重码:8 或 g
9. 第九重码:9 或 h
10. 第十重码:0 或 i

【vi 快捷键导航】 〖点石成金〗

* 【经典】 沿用 vi 优良传统,以人为本。
* 【优点】 十指禅功,可上可下,左右逢源。
* 【搜索】 VimIM 中文搜索
* 【复制】 可复制到 clipboard 剪贴板,方便粘贴。
* 【注】 Vim 按键适用于任何状态,包括所有 omni completion 程式。

Vim 按键 VimIM 快键 功能
CTRL-X CTRL-U CTRL-6 或 猜测寻找第一个匹配
  PageUp     u 向上翻页
  PageDown     l 向下翻页
  CTRL-P     k 反向搜索前一个匹配
  CTRL-N     j 正向搜索下一个匹配
  CTRL-E     x :x  搜索结束
  CTRL-Y     y yes  确认选择
    r reverse sort
    s save to clipboard
    p paste 菜单复制
    ; 第二个字上屏

【自己动手试一试】

 【目的】复制词组“精力”到 clipboard

 【操作步骤】

1. 打开 vim (如果用Windows可以双击gVim.exe)
2. 敲 o 或 i 或 a 进入 vim 插入模式
3. 敲四键: v i m
4. 敲 j j
5. 确认光标指向“精力”
6. 敲 c
7. 确认上字
8. 关闭 Vim
9. 打开 notepad
10. 敲
11. 确认“精力”被粘贴。


见字找码
vimim_reverse_lookup.gif
见字找码
玩家可随时在编辑文章的过程中,从屏幕上取字造词。
文字处理是Vim的强项,VimIM在汉字输入和输出方面雪中送炭。

* 【特点】见字找码,编码反查,自造新词。
* 【用途】现造现用:利用 动态造词 扩展词库
* 【操作】 ㈠ 高亮选择汉字字串 ㈡ 敲缺省键
* 【注】如果一字多码,提供多码选择,以利于编辑。
*    例如:高亮选择“音乐” →  yinyue|le 音乐
* 【缺省开启】:let g:vimim_reverse_lookup=1
* 【缺省键】 v_CTRL-6   VimIM Mapping

以“全拼”词库为例:如果想制造“山寨”一词:

造词 高亮选择 敲缺省键 结果显示


山寨

v_CTRL-6 shanzhai 山寨


动态造词
VimIM 可以让玩家完全自主的修改词库,是一般输入法没有的优势。
新词批量存盘是扩展自己词库的又一条捷径。

【注】新词一行一码:只需符合 VimIM 词库格式
造词方式有二种:
  【手动】自定义短语,爱怎么定义就怎么怎么定义。
  【自动】可利用 见字找码 自动造词。

* 【条件】『Vim 可视模式』
* 【限于】UTF-8 encoding
* 【特点】先确认,后存盘。一次可存一行。
* 【操作】 ㈠ 高亮选择空白 ㈡ 敲

以“全拼”词库为例:如果想同时添加“山寨”和“好美满”二词:

存盘 高亮选择空白 敲缺省键 结果
一行 shanzhai 山寨 v_CTRL-^ 内存更新 词库扩展


通配符匹配 【全拼输入法演示】
vimim_wildcard_search.gif
通配符匹配

* 【优点】万能的通配符 && 永远的UNIX
* 用英文星号 * 匹配零个或以上字符
* 用英文句号 . 匹配壹个字符
* 可直接输入英文: *English → English
* 【缺省关闭】:let g:vimim_wildcard_search=0


其余选项
VimIM includes a large number of bells and whistles.

使用 VimIM 输入中文,不需要激活输入法。
VimIM 的中文输入操作全部在『vim 插入模式』下完成。

VimIM 的设置项全部归玩家的 .vimrc 控制。
所有的设定只要重新启动Vim后,就可正常识别。

以词定字

* 使用左右方括号选择当前候选词的开头或结尾的字
* 可缓解重码。例如,您打“山寨”:
*    按 [ 键,表示选择“山” 字
*    按 ] 键,表示选择 “寨”字
* 【缺省开启】:let g:vimim_square_bracket=1

以单定双

* 如当前候选为单字:用左方括号选择单字重复
* 例如,您欲打  喜喜
*   先敲 喜 ,然后按 [ 键

以单定叁

* 如当前候选为单字:用右方括号选择加全角方括号
* 例如,您欲打  【注】
*   先敲 注 ,然后按 ] 键

数字标签

* 显示数字标签,并提供数字选字
* 【缺省开启】:let g:vimim_custom_menu_label=1

字母标签

* 显示字母标签,并提供字母选字
* 【缺省开启】:let g:vimim_custom_menu_label=3

内码寻找

* 反向操作 Unicode 内码输入
* 在 『Vim 可视模式』下进行从汉字到万国码的转换。
* 【操作】 ㈠ 高亮选择汉字字串 ㈡ 敲 CTRL-6
* 【开启可设】:let g:vimim_unicode_lookup=1

输入记录

* 输入记录在 g:vimim
* 输入记录可以连续不断地playback

输入统计

* VimIM 彩蛋:统计 vimimstat
* 输入速度的统计正在不断完善之中



〖中文输入模式〗
需先切入中文输入模式:缺省切入键为

〖中文输入模式〗三者择一:

:let g:vimim_static_input_style=0 (缺省)
㈠【经典动态模式】就是输入过程中一直出选择项目,
或者说,每敲一个字母就蹦出一个菜单。

:let g:vimim_static_input_style=1
㈡【经典静态模式】就是输入完后按空格出选择项目。
支持连续上字。

:let g:vimim_static_input_style=2
㈢【Sexy静态模式】(A) 对比【经典静态模式】去掉连续上字
(B) 对比【点石成金】加上连续上字,附加不少cool功能


*

【共同特点】

o 【经典】空格键上汉字,回车键上英文。
o 用数字键确认汉字
o 匹配提醒:缺省匹配,以及总匹配数。

*

【动态、静态模式】【共同特点】

o 键:自动切换,与 vim 风格一致
o 模式提醒:光标颜色和状态提示 INSERT (lang)
o 中文标点自动开启
o 中英文标点动态切换 (切换键 CTRL-6 )


〖经典动态模式〗

* 【缺省开启】
* 【优点】完美实现 Vim 与中文输入法的无间配合
* 编码步步提示:编码插入与汉字转换同步进行
* 光标精确跟随:光标走到哪,候选框就跟到哪
* 空格键智能:该出码时就出码,没码时出空格
* 输入风格二者择一:

* 经典动态输入风格
o 【缺省开启】
o 显示键码,逐键提示。
o 用回车键可以上英文,既方便又传统。
* sexy 动态输入风格
o 【缺省关闭】 :let g:vimim_sexy_input_style=0
o 所见即所得 WYSIWYG


〖经典静态模式〗

* 【开启】:let g:vimim_static_input_style=-1
* 【特点】可以继续输入,省掉许多空格
* 【擅长】“中文/英文/数字”混合输入
* 【优势】长句子云输入

〖Sexy静态模式〗

这也许是传说中的 无模式之中文输入模式 。

VimIM 〖Sexy静态模式〗
abcdefghi.gif

* 【特点】 集【点石成金】和【经典静态模式】之优点于一身。
1. 对比【经典静态模式】去掉连续上字
2. 对比【点石成金】加上连续上字,附加不少cool功能。
* 【设置】 :let g:vimim_static_input_style=2
* 【操作】
o 【开启】—— 敲 (toggle and triggle)
o 【关闭】—— 敲 (triggle)
o 【退出】—— 敲 (same as Vim)
o 【功能】—— 包括〖点石成金〗全部功能,加之:
+ 〖经典〗空格键上汉字,回车键上英文。
+ 〖空格键〗出菜单,或上汉字,或上空格,或上中文标点。
+ 〖回车键〗无缝上英文;标点后或双回车上空格;没有事就回车。
+ 〖上汉字〗空格键和字母键,也可以是数字键。
+ 〖标点切换〗英文标点之后,空格键出中文标点
+ 〖打字回帖〗敲后,当前行自动复制到剪贴板。
+ 〖敲英文〗 切换,回到英文输入状态。
+ 〖状态显示〗 绿色光标 noruler


Vim 模式 敲  CTRL-\
vim 正常模式 开启 〖Sexy静态模式〗
vim 插入模式 开启 〖Sexy静态模式〗
vim 可视模式 见字找码
vim 可视模式 动态造词
关闭 〖Sexy静态模式〗

洗妆不褪唇红: :let g:vimim_custom_skin=2
vimim_simple.gif
皮肤

【设计原则】

* 清水出芙蓉,天然去雕饰。

【参考选项】

* 〖颜色〗g:vimim_custom_skin
o 【缺省关闭】VimIM不干涉Vim的缺省设置。
o :let g:vimim_custom_skin=1
+ 滤掉显示栏的背景颜色,免得眼花缭乱。
o :let g:vimim_custom_skin=2
+ 再隐藏输入码显示,使显示栏简洁明快。
* 〖状态行〗g:vimim_custom_laststatus
o statusline 可以显示当前使用的中文输入法:
o 【缺省开启】:let g:vimim_custom_laststatus=1
* 〖光标〗
o 光标颜色可以归自己指定,缺省是绿色。



无缝混排
在中文英文之间不留空格。
空格键上汉字,回车键上英文。

* 回车键确认英文或者数字,随后可以直接上中文。
* (Vim Insert Mode)敲两次CTRL-\后可直接敲中文。


可控词频调整

【词频记忆】

随用户的意愿自动完善用户的词库。
优先选择前一次输入,自动修改词库中对应候选词的顺序
  久而久之,词库就变成用户自己的词库
  不知不觉,VimIM 就变成了最适合用户的输入法

* 【词频记忆不存盘】
o 仅适用于当前的 session
o 【缺省开启】:let g:vimim_chinese_frequency=1
* 【词频记忆存盘】
o 输入累积N次,词库可以自动刷新,永久存盘。
o 建议设置比较大一点的值::let g:vimim_chinese_frequency=10
o 也就是说,每选择10次菜单,memory中的词频写入disk存盘
o 【开启可设】:let g:vimim_chinese_frequency=N
* 【首字固顶】
o 候选词可以固顶,方便调整候选词顺序。
o 【开启可设】:let g:vimim_frequency_first_fix=1



一键改错
〖中文输入模式〗
按一次esc键则关闭菜单并全清刚才的输入,
再按一次esc键则退出插入模式。

〖点石成金〗
【菜单】可敲 q 键


中文标点

*

【标点翻页】 参见 翻页选字
*

〖中文输入模式〗
o 【缺省开启】:let g:vimim_chinese_punctuation=1
o 【关闭可设】:let g:vimim_chinese_punctuation=-1
o 【自动半角】自动在数字后面输入半角标点。例如:1.2.3 而不是1。2。3。
o 【半角选项】在英文后面输入半角标点::let g:vimim_english_punctuation=1
o 【中英标点动态切换】
+ CTRL-6   VimIM Mapping
+ CTRL-6  动态切换中英文输入模式,包括标点。
*

中文标点英文标点对照表

英文


中文


英文


中文

&





`


‘’

\





"


“”

#





[




%





]




$





^




!





_




~





<




+





>




*





-




@





=




:





;




(





,




)





.




{





?




}





*

〖点石成金〗
o 〖英文标点智能〗用点石键点击英文标点可以直接转换为中文标点。
o magic 句号
+ 句号是唯一的字符 ==> 标点符号转换
+ 句号前后都有英文字符 ==> 逐词匹配㈠句号分隔,自己定匹配
+ 句号在末尾 ==> 强制非云
o magic 单引号
+ 单引号在第一个 ==> 小写中文数字
+ 单引号在前两个 ==> 大写中文数字
+ 单引号是唯一的字符 ==> 标点符号转换
+ 单引号前后都有英文字符 ==> 作为断字符
+ 单引号在末尾,并且前面有英文字符 ==> 强制云:〖想云就云〗



通配符匹配 【四角号码演示】
vimim_wildcard_4corner.gif

通配符匹配 【注音输入法演示】
vimim_wildcard_phonetic.gif

通配符匹配 【仓颉输入法演示】
vimim_wildcard_cangjie.gif

通配符匹配 【行列输入法演示】
vimim_wildcard_array30.gif

通配符匹配 【二笔输入法演示】
vimim_wildcard_erbi.gif

通配符匹配 【五笔输入法演示】
vimim_wildcard_wubi.gif
FAQ
问:
VimIM 是什么意思?
答:
VimIM 的本义应该是 Vim Input Method —— Vim 输入法。
因为本文是中文版本,VimIM 就顺势译成 Vim 中文输入法。

问:
VimIM 的作者是谁?
答:
作者的网名是 vimim   :)
问:
在 static 模式中,如何方便的实现“有缝混排”?
答:
在 static 模式中,如果按空格之后选择回车,则直接上英文。
如果再按一次回车,就会上空格:实现“有缝混排”。

问:
VimIM 与 Vim abbreviation 好像有点冲突?
答:
Yes, but ...
如果不激活 VimIM, Vim 的abbreviation永远不会“被和谐”。

问题好像只出现在用〖点石成金〗上字之后,接着马上敲空格键,
而且敲空格键的目的是激活abbreviation. 不过这时候,再次用
空格键时,空格键又可以激活abbreviation了。

原因:OneKey需要赋予空格键一点智能,以便于上字。

问:
VimIM 与 latex-suite plugin 好像有点冲突?
答:
有玩家反应。Let's wait for solution from those players who
are interested in making both plugins work in harmony.

问:
怎样减少 copy & paste (复制粘贴)重复操作?
答:
Vim 擅长于把复杂的编辑操作简单化。
VimIM 尽可能提供自动复制机制,方便〖打字回帖〗。

㈠ 选择提示菜单中的字或成语,敲 "s" 上字的同时自动拷贝。
㈡ 每当关闭 〖Sexy静态模式〗 current line 自动拷贝。
㈢ 每当关闭 〖中文输入模式〗 整个 session 自动拷贝。
【缺省开启】 :let g:vimim_auto_copy_clipboard=1

【自己动手试一试】
 【目的】复制“精力”二字上 clipboard
 【操作步骤】
(1) 打开 vim (如果用Windows可以双击gVim.exe)
(2) 敲 o 或 i 或 a 进入 vim 插入模式
(3) 连敲四键: v i m
(4) 敲 j 光标向下移动
(5) 敲 j 光标向下移动
(6) 敲 s save to clipboard


VimIM Foundation
VimIM 自由软体基金会 (The VimIM Free Software Foundation)
致力于推广普及完善VimIM ,专提供Bonus给VimIM骇客。

VimIM 贝宝 (PayPal) 美金帐户已于2009年2月11日正式开通。
贝宝 可轻松付款给在中国拥有电子邮件地址的任何人。

VimIM 基金会每年 春节 颁发奖励 (The VimIM Award):
奖励方案由 VimIM 基金会推荐:国人优先,学生优先。
奖品包括主张“激情成就梦想”的 青岛啤酒 (Tsingtao Beer)

【评论】 “草鞋无样,边打边像”
【论文】 论 VimIM 中文输入法的盈利模式
【时评】 〖论拼音输入〗目前的形势和我们的任务
【目标】 VimIM 追求的境界
【言行一致】 VimIM牛年年度评选揭晓,二箱啤酒已经寄出

VimIM 设计原则   Design Goals
VIM: 不被和谐!
memory: 不超过词库尺寸
speed: 不低于最高要求
encoding: 不受限制
options: 不强行要求设置
internet: 不联网照样敲中文
datafile: 无词库可以云输入
interal: 无词库无联网用内码输入

VimIM 设计思路:

* 用文本文件打造中文输入法:文本文件,天下无敌。
* 一个文本文件就足以联网 CLOUD 云输入
* 两个文本文件就是完整的中文输入法。
* 词库文件完全归用户管理,可以直接用Vim编辑。
* 源程式不用编译,修改以后立竿见影。


let msg = "feedback from VimIM user"

if msg ==# "I like VimIM"
if msg ==# "VimIM works great"
let action = "I will use it"
else
let action = "I want to customize it"
let action = "I want to improve it"
let action = "I want to write a plugin for it"
endif
else
let action = "I want to delete it and forget it"
endif


COPYRIGHT
VimIM的作者

1. vimim 原先是VimIM的唯一作者。
2. vimim 现在是VimIM的作者之一。
3. 动态模式的code源自ywvim的作者Yue Wu.
4. 开始有不少建议来自水木社区VI编辑器论坛众多高手。
5. 有几个世界难题是Vim官方论坛上Tony Mechelynck解答的。
6. 双拼的全部code源自mycloud的作者Pan ShiZhu.
7. project 的管理大多由philip.y.xu负责。
8. 最多的灵感和测试来源于VimIM官方论坛上玩家的狂轰滥炸。
9. All project committers on http://code.google.com/p/vimim

VimIM的词库来源

1. VimIM 唯一的官方distribution是一个纯文本文件: vimim.vim
2. 使用 VimIM 内码输入 不需要任何词库。
3. 使用 VimIM CLOUD 云输入 不需要任何词库。
4. VimIM 词库可以参考使用 民间词库




[科普]如何让Vim 支持中文?

1.

Vim 支持中文编码的基础
* Vim 支持中文编码的基础是两个特性:+multi_byte 和 +iconv
* 官方下载网址: http://www.vim.org/download.php
* 绿色移动版: http://portablegvim.sourceforge.net/downloads.html
2.

影响 Vim 中文编码的设置项
* encoding:vim 的内部使用编码
* fileencodings:Vim 在打开文件时会根据其选项来识别文件编码
* fileencoding:Vim 在保存新建文件时会根据其设置编码来保存
* guifontwide:Gvim 要求等宽字体,其指定字宽是 guifont 的两倍
3.

Vim 具体应用环境的设置:微软视窗(Windows) vimrc 样例
* set encoding=utf-8
* set fileencodings=ucs-bom,utf8,chinese,taiwan,ansi
* set guifont=Courier_New:h12:w7
* set guifontwide=NSimSun-18030,NSimSun
* set ambiwidth=double
4.

如何用 Vim 插入非 ASCII 字符?
如果既不依赖外挂程式,又不干扰 Vim 正常操作,
Vim 可以选择如下三种方式,插入不能用普通键盘输入的字符:
1. 用 i_CTRL-V 插入十进制编码
2. 用 i_CTRL-K 插入二合字母
3. 用 i_CTRL-6 〖点石成金〗 (VimIM 推陈出新)
5.

如何解决windows下Vim的中文乱码问题?
* Vim 相关链接收集 by 闲耘
* Vim中输入法与编码设置的FAQ by 碎碎念
* 解决windows下的中文乱码问题 by 大自然
* 【经验分享】中文乱码解决方案 by suxpert

【实例】 在GBK Windows中给Vim设置 UTF-8

" --------------------------------------
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,chinese,latin-1
set termencoding=GBK
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
language messages zh_CN.UTF-8
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
set langmenu=zh_CN.UTF-8
" --------------------------------------



参考文献

* http://zh.wikipedia.org/wiki/VimIM
* http://en.wikipedia.org/wiki/Input_method_editor
* http://en.wikipedia.org/wiki/Vim_%28text_editor%29
* http://groups.google.com/group/vim_use/topics
* http://vim.sourceforge.net/scripts/script.php?script_id=999
* http://www.vim.org/scripts/script.php?script_id=1879
* http://www.pkucn.com/forumdisplay.php?fid=60&page=1
* http://hyperrate.com/thread.php?tid=9341
* http://code.google.com/p/sg2fcitx/downloads/list
* http://forum.ubuntu.org.cn/viewtopic.php?f=101&t=100095
* http://blah.blogsome.com/2006/06/27/vim7_tut_oc/
* http://www.fireinput.com/wiki/Main_Page
* http://hanyu.iciba.com/zt/1533.html
* http://www.slideshare.net/c9s/vim-hacks
* http://pinyin.sogou.com/bbs/viewthread.php?tid=142391
* http://www.pkucn.com/viewthread.php?tid=248609
* http://linuxtoy.org/archives/vimim-09-released.html
* http://vim.wikia.com/wiki/Script:2506
* http://xbeta.info/vim-tutorials.htm
* http://code.google.com/p/ibus-sogoupycc/
* http://lihdd.net/
* http://www.pkucn.com/viewthread.php?tid=253572
* http://www.newsmth.net/bbsdoc.php?board=VIM



VimIM Log

1. [wish] petition to add VimIM to the official Vim Help "mbyte.txt"
2. [done] support dynamic menu to speed up in Chinese input mode
3. [done] support fuzzy search without modifying data file
4. [done] support wildcard, using both * and . the same way as grep
5. [done] support menu label: using number key for selection/navigation
6. [done] relieve strict restriction of UTF-8 encoding setting
7. [done] stop "fuzzy pinyin" template for pinyin input method
8. [done] trigger VimIM "easter egg" when no datafile is found
9. [done] adjust order selection sequence based on past usage frequency
10. [done] standardize data file name with "txt" as filename extension
11. [done] make dynamic-order-sequence persistent
12. [done] add one super option for XingMa, which can be auto set
13. [done] build crash-proof logic to get rid of full table scan
14. [done] optimize search algorithm: faster with less CPU & memory
15. [done] add visual pleasure: green cursor indicates vimim Input mode
16. [done] add basic floating point calculation, but dropped out
17. [done] make "easter egg" permanent, regardless of encoding/datafile
18. [done] better user experience when g:vimim_dynamic_menu=1
19. [done] support "Array Input Method" and upload sample datafile
20. [done] support "Phonetic Input Method" and upload sample datafile
21. [done] update "VimIM" and "Unicode" in wikipedia: zh.wikipedia.org
22. [done] support "Double Pinyin Input Method" and upload sample datafile
23. [done] make "static mode" as default: Space=>Chinese Enter=>English
24. [done] [static/dynamic mode] uses CTRL-6 to be consistent with Vim
25. [done] [OneKey] uses CTRL-6 or even Tab key instead if configured
26. [done] [WuBi] support non-stop Chinese input for WuBi input method
27. [done] [Erbi] start to support ErBi input method which using 31 keys
28. [done] [UI] remove menu extra label text (default)
29. [done] [UI] remove menu color for better user experience (default)
30. [done] [UI] showing both keycode and highlighted menu selection
31. [done] [dynamic] classic input style (default on) and sexy input style
32. [done] [brackets] left/right square brackets to pick up char from word
33. [done] [DIY] introduce DIY input methods, using double datafile
34. [done] [DIY] auto partition keycode: 'm17'(one) and 'sz22'(two)
35. [done] New Feature: dynamically create datafile entry (default on)
36. [done] New Feature: dynamically save datafile entry (default off)
37. [done] New Feature: support "search" using Vim search key (default on)
38. [done] finalize popup menu navigation using vi key (hjkl) (default on)
39. [done] build a table to illustrate mapping ctrl-6 & CTRL-6
40. [done] use complete_add(m) and complete_check() to avoid waiting
41. [done] support direct Unicode input using digit or hex from menu
42. [done] A trick to hide all global variables in plugin
43. [done] disable wildcard for dynamic Chinese input mode
44. [done] support reverse Unicode lookup: from Chinese to Unicode
45. [done] make Chinese punctuations intelligent for all situations
46. [done] make work as expected, the smart way of doing
47. [done] intelligent punctuation: English punctuation after number.
48. [done] support vimim_word_by_word_match
49. [done] better fuzzy search: ycdy(yichuidyingyin) ydgy(yingdegengying)
50. [done] make "easter egg" secret by moving Chinese to datafile
51. [done] auto copy to clipboard when Chinese mode is turned off
52. [done] make label works as absolute number to user's expectation
53. [done] make number smart by adding vimim_punctuation_navigation option
54. [done] combine all punctuation navigation together
55. [done] add g:vimim_reverse_pageup_pagedown for left-hand PageUp
56. [done] avoid changing user's .vimrc option when using OneKey
57. [done] support fixed first candidate g:vimim_frequency_first_fix=1
58. [done] make Chinese/English punctuation smart and solid
59. [done] enhance html navigation by adding g/G and removing r key
60. [done] support transformation of Chinese numbers
61. [done] support smart Chinese quantifiers transformation
62. [done] invent fuzzy double pinyin, which is the simplest
63. [done] invent DIY keyboard shortcut for numbers: pinyin+4corner
64. [done] make DIY perfect for keyboard_sentence_block
65. [done] make DIY a pleasure: 3m m3 7x x7 77x x77 except ma3
66. [done] meet.teacher.say.hello.sssjj.zdolo.hhyy.sloso.nfofo
67. [done] support direct GBK or Big5 internal code input
68. [done] add GBK() and BIG5() for printing all Chinese in one step
69. [done] remove strict utf-8 restriction for vimim_reverse_lookup
70. [done] allow empty lines at the end and the start of datafile
71. [done] added "nopaste" to avoid surprise when paste is set
72. [done] support plug & play stoke input vimim.12345.txt
73. [done] allow copy ascii in addition to Chinese from popup menu
74. [done] support c(copy) from popup menu for OneKey
75. [done] avoid conflict between VimIM and autocomplpop plugins
76. [done] make harmony with eclim plugin by hiding completefunc
77. [done] support CANTONESE (pinyin_canton and pinyin_hongkong)
78. [done] support WU input method: vimim.wu.txt
79. [done] support XINHUA input method: vimim.xinhua.txt
80. [done] support YONG input method: vimim.yong.txt
81. [done] optimize vimim_label(n) to make the number one fast
82. [done] make Space key smart not to compromise abbreviation
83. [done] broadcast VimIM to relating newsgroups and blogs
84. [done] build an internal auto regression test suites
85. [done] support "i have a dream." for English OneKey sentence match
86. [done] support "i have a dream." for PinYin OneKey sentence match
87. [done] support "i have a dream." for WuBi OneKey sentence match
88. [done] support "i have a dream." for ZhengMa OneKey sentence match
89. [done] support "i have a dream." for CangJie OneKey sentence match
90. [done] support "i have a dream." for Nature OneKey sentence match
91. [done] [ctc] create vimim.ctc.txt from unihan.txt, PRC telegraph code
92. [done] [ctc] support Chinese Telegraph Code (CTC) input and search
93. [done] relieve restriction of the fixed noignorecase setting
94. [done] [CTRL-Space] on gVim to toggle Chinese input mode, as CTRL-6
95. [done] [cns11643] support cns11643 using hex as valid keycode
96. [done] [ErBi] support non-stop Chinese input for ErBi input method
97. [done] [ShuangPin] better ShuangPin, all from Pan ShiZhu
98. [done] [ShuangPin] make it possible to type sentence in static mode
99. [done] [cloud] support Cloud IM from sugou: g:vimim_cloud_sogou
100. [done] [cloud] support continous partial cloud sentence match
101. [done] [cloud] support non-cloud sentence input: i.have.a.dream
102. [done] [cloud] support auto-cloud with linux when no-datafile
103. [done] [cloud] support auto-cloud with Windows when plugin/wget.exe
104. [done] [OneKey] save keycode in @0 for checking if interested
105. [done] [static] auto-chinese-enter using any alphabetic key
106. [done] [static] make smart reliable in Chinese mode
107. [done] [static] double works when no match
108. [done] [svn] 20091116 start SVN to organize code and VimIM homepage
109. [done] [4corner] succeed: plug & play vimim.4corner.txt only
110. [done] [4corner] succeed: plug & play pinyin plus 4corner
111. [done] [english] add option g:vimim_english_in_datafile
112. [done] [diy] keep tradition: mjjas=>m7712=>horse szssdo=>sz2230
113. [done] [diy] make sh34=>poem work for both pinyin and shuangpin
114. [done] [color] keep user's setting; never change global option
115. [done] [12345] succeed: plug & play vimim.12345.txt only
116. [done] [12345] succeed: plug & play pinyin plus 5 strokes
117. [done] [diy] ma7712li4002 => [mali,7712,4002] sh22zh30
118. [done] [seamless] make it better for PinYin: HAPPYwo Happywo
119. [done] [seamless] make sure all chars are valid to avoid capitals error
120. [done] [seamless] close for dynamic mode as it is not useful
121. [done] [seamless] make always starts with seamless
122. [done] [seamless] default on again: g:vimim_seamless_english_input
123. [done] [skin] finalize option g:vimim_custom_skin
124. [done] [cloud] only try cloud once when no internet connection
125. [done] [cloud] support apostrophe to mark syllables, remove ambiguity
126. [done] [apostrophe] xi'anmeimeidepi'aosuifengpiaoyang
127. [done] [apostrophe] add option: :let g:vimim_datafile_has_apostrophe=1
128. [done] [punctuation] intelligent: HAPPY, happy,
129. [done] [punctuation] add option: :let g:vimim_english_punctuation=0
130. [done] [punctuation] OneKey only: :let g:vimim_punctuation_navigation=1
131. [redo] [shuangpin] if CLOUD, use apostrophe, otherwise strip it out
132. [done] [shuangpin] close fuzzy match: wfticeui
133. [done] [cloud] fix issue_12: regression on shuangpin sentence match
134. [done] [cloud] add support for dynamic Chinese input mode
135. [done] [seamless] fix issue_11: make number smart: ma3=>ma3 3ma=>3+ma
136. [done] [legal] add one section in manual to clarify copyright
137. [done] [diy] add g:vimim_diy_asdfghjklo to support shortcut
138. [done] [translation] add brutal-force chinese2pinyin translation
139. [done] regression => mjads.xdhao.jdaaa zaskso ma7712li4002 mljjfo
140. [done] add easter egg for user environment: vimim
141. [done] add new hjkl menu key: =p= for copy & paste popupmenu list
142. [done] add pictures of 5 shuangpin cloud input to show evidence
143. [done] [cloud] cloud. => always non-cloud if ending with one dot
144. [done] issue 15: set/reset lazyredrew for OneKey
145. [done] issue 19: add s:shuangpin_keyboard to correct calculation
146. [done] issue 18: vimim_tab_as_onekey: use for
147. [done] issue 16: chaoxianlaodongdang replacing too many chars
148. [done] issue 17: make period dummy in Chinese Input Mode: ma.ma
149. [done] issue 21: use to close OneKey to avoid interference
150. [done] issue 20: roll back vimim_label(n) which is reliable
151. [done] issue 22: dynamic mode+cloud+shuangpin problem
152. [done] issue 25: conflict VimIM completefunc with others
153. [done] issue 26: hjkl still mapped after
154. [done] issue 29: texingceshiceshi => CHINESE+gceshi
155. [done] issue 23: static+shuangpin+cloud breaks after issue 22
156. [done] seamless position detect when cursor is moved
157. [done] super reset function to avoid repeating
158. [redo] let g:vimim_punctuation_navigation=1 default for all mode
159. [redo] [wubi] trdeggwhssqu => i have a dream
160. [done] [imode] introduce double imode for capital Chinese number
161. [done] [imode] id2=>second id3c=>third+menu g:vimim_imode_pinyin
162. [done] OneKey => add universal imode using english comma: ,88 ,,88
163. [done] [egg] add new easter egg for VimIM URL: vimimhelp
164. [done] [egg] add new easter egg for coding: vimims
165. [done] [egg] add new easter egg for coding: vimimdefaults
166. [redo] workflow, no need buggy s:vimim_resume_shuangpin()
167. [done] without reset , ignore no completefunc error
168. [done] function! s:vimim_pageup_pagedown(matched_list)
169. [done] issue 32: 857807627775 CLOUD for queyunmu
170. [done] vimim_alphabet_auto_select for ShuangPin, might be possible
171. [redo] [datafile update] modify data in memory based on past usage
172. [done] [paste] ,,,a => customized entry, poem, for sharp display
173. [done] :let g:vimim_punctuation_navigation=0 makes - and = available
174. [done] yun0mu7=>yunmu yun0mu=>nothing [bug] '^l+d+' && 'l+d=$'
175. [done] [internal] build debug framework
176. [done] [internal] :let g:vimimdebug=1 => vimimdebug =>
177. [done] issue 43: optimize b:keymap_name and always show IM in statusline
178. [done] [pinyin+4corner] 95 959 jing95 jingshen9 mali77 nfofo nhofs
179. [done] [pinyin+4corner] always use number following glyph as a filter
180. [done] [pinyin+wubi] plug and play using ctrl-6 to switch between
181. [done] [pinyin+erbi] can live together in harmony
182. [done] [cangjie] sleeps with [pinyin] in harmony: plug and play
183. [done] [skin] put together skin section, with both code and document
184. [done] develop an algorithm to sort Chinese by frequent usage
185. [done] minimize initialization process when vim starts up
186. [done] magic comma, last but one, for whole-jianpin-cloud: laystb,z
187. [done] [frequency] make it work now: g:vimim_chinese_frequency=1
188. [done] issue 48: A simple way to repeat inputs ..........zuorichongxian
189. [done] [mycloud] g:vimim_cloud_pim=1 http://pim-cloud.appspot.com/qp/
190. [done] [rot13] make rot13 ready for Great Wall, includes %xx
191. [done] [zhengma] fix aewz using datafile: vimim.zhengma.txt
192. [done] [zhengma] plug and play <=> zhengma and pinyin sleep together
193. [done] [sleep together] [array30][xinhua][quick] and [pinyin] plug and play
194. [done] [onekey] g:vimim_sexy_onekey>0, no transformation of double ,.
195. [done] [onekey] g:vimim_sexy_onekey & g:xingma_sleep_with_pinyin
196. [done] [onekey] create official OneKey Chinese input mode
197. [done] [onekey] combine g:vimim_reverse_lookup and g:vimim_save_new_entry
198. [done] [mycloud] g:vimim_cloud_plugin='C:/home/vimim/mycloud/mycloud'
199. [done] [recycle] save typing by reusing input memory: g:vimim_smart_ctrl_n
200. [done] [recycle] save typing by reusing all inputs: g:vimim_smart_ctrl_p
201. [redo] [record] g:vimim for all situations, for playback and for fun
202. [done] [egg][vimimstat] typing speed stat using vimim_egg_vimimstat()
203. [done] support i_CTRL-N i_CTRL-P for Chinese text, based on input memory
204. [done] keep input history for further processing like search
205. [redo] [one-key-correction] in OneKey => (d)elete in popup menu
206. [redo] [one-key-correction] make smart: also for one-key-correction
207. [done] [backspace] make smart by not delete Chinese by mistake
208. [done] [punctuation] fix backlash and double quote in Chinese mode
209. [done] [cmdline] discover cmdline-window for all cmdline operation
210. [done] [4corner] use 4corner as a filter for super jianpin
211. [done] [5stroke] use 5stroke as a filter for super jianpin
212. [done] [label] introduce abcdefghi as label along with 123456789
213. [done] [label] support 4corner as a filter over the omni menu
214. [done] [label] support 5stroke as a filter over the omni menu
215. [done] [label] (1) 1234567890 (2) 10 items per page
216. [todo] add :profile start /tmp/vimim.profile for optimization
217. [todo] use database SQLite to store and manage datafile
218. [todo] design a way to use cedict.txt as English input
219. [todo] support "associate" function if it is helpful
220. [todo] [test] make sure no regression, following each item on manual
221. [done] [zi] (1) add 3000 zi sorted by frequency (2) filter zi+number
222. [done] [sort] add r(reverse) sort for omni popup menu
223. [done] No PageUp after first Page; No PageDown after last page
224. [done] open debug mode for public; resever only g:vimimdebug=9
225. [todo] improve performance on dynamic mode by using temp cache
226. [todo] is it possible to fix omni popup location?
227. [redo] [enter] OneKey a. a.. a... a.... whole match?
228. [done] [filter] use first word? if s:menu_4corner_filter > 0
229. [done] [privacy] remove relating codes. merge privates to main datafile.
230. [redo] [OneKey Mode] triple play: seamless, enter, space
231. [done] [onekey] sexy onekey, double enter => space
232. [redo] [backspace] make backspace smarter and simpler
233. [done] [backspace] too smart is not smart
234. [done] [default] ctrl-6 as OneKey and ctrl-Bslash as toggle
235. [done] [smart quote] port smart_single/double_quote to OneKey mode
236. [todo] check if it is possible to load datafile from "gvim --remote"
237. [done] show-me-not-pattern when ciku has ii/oo/vv, for pretty print
238. [redo] [cloud] support CLOUD for all using aphostrophe before OneKey
239. [done] [digit] 0000 stuck in OneKey mode
240. [done] [private] create oo/ii/vv personal entries and filter display
241. [done] [internal code] better algorithm with simpler rule: u808f/22221?
242. [done] [super internal code] use_virtual_datafile if no datafile nor cloud
243. [done] [super internal code] create dictionary for Chinese
244. [done] [all-cloud] if no match from local, always try cloud before giving up
245. [done] [sexy-onekey] re-consider paste/nopaste option
246. [todo] what is the best way to make short-cut out of x3j3 without number?
247. [todo] is it possible to use all digital datafile and search by integer?
248. [todo] let msg = "OneKey stops here": mutual exclusive and
249. [done] add back vimim_length_filter(); improve s:vimim_pinyin_filter()
250. [done] replace g:vimim_sexy_onekey=1 with g:vimim_static_input_style=2
251. [done] default on for g:vimim_onekey_double_ctrl6=1
252. [done] chinese => unicode omni popup menu
253. [done] zc9_1 <=> z1c9 <=> zheng1010chang9022 <=> zhengchang
254. [done] standard menu layout mali => mali ma ma1 ma2 ma3 ma4
255. [done] as my default sexy Chinese mode toggle
256. [done] [cloud] based on zi instead of total number of char typed
257. [done] check shuangpin/wubi after new logic
258. [done] [erbi] use V M for vim grep for literal dot: kzy.
259. [done] [array30] make comma and slash work: or, a/, a/..
260. [done] add new OneKey option:let g:vimim_insert_without_popup=1
261. [done] issue 89: [wubi] xixiyywr xixi is replaced; not working
262. [todo] [pinyin] make dropdown menu as standard as possible
263. [done] [apostrophe] improve s:vimim_apostrophe() for both mama and ma'ma
264. [todo] recyle chinese in the current line?
265. [todo] lianxiang
266. [todo] is it necessary to try abcdefghi => asdfgqwert
267. [todo] [framework] break ciku filenames into groups for easy management
268. [todo] [test] develop an automated test suite
269. [todo] [refactor] Refactoring is good for the code and the soul

vimim@googlegroups.com at 15:13:53 PST on Sunday, 05/23/2010 【VimIM ®许可协议:GNU 自由文档许可证 GFDL 】

No comments:

Post a Comment

vimim —— vim 中文输入法