⑴svim是一个想让用户在windows上的每一个文本编辑区中都能用神器vi进行文字编辑的桌面软件,svim在windows的任意编辑区中模拟vi/vim功能,提升编辑效率。
⑵只要有文字输入的地方,就有svim的用武之地。
⑶svim支持大部分vi/vim编辑操作
⑷svim通过检测和管理键盘/鼠标事件,实现了全系统范围的vi/vim行为模拟。
⑸svim支持大部分vi/vim操作,支持normal/visual/insert三种模式。
⑹normal模式
⑺在启动svim模式后,svim所在模式即为normal模式。该模式下我们可以通过由字符或字符组合命令实现光标移动或者编辑操作,或者进入其它模式。
⑻insert模式
⑼同样,按下 i/a 键进入插入模式,可以在当前模式插入字符,插入模式下,按esc进入normal模式
⑽visual模式
⑾在normal模式下,按 v 即可进入visual模式,然后移动光标选择范围。visual模式下,按 v 或者 esc 退出到 normal 模式。
⑿对中文输入的特别支持
⒀相信用过vi/vim来编辑中文的同学都曾遇到痛点:
⒁中文输入法状态下,按键会先被输入法捕获,于是为了输入编辑命令和汉字,我们不得不频繁切换输入法的中英文状态。
⒂svim通过直接处理键盘事件,优先级高于输入法,因此normal模式下,命令直接被svim处理,输入法不需要再反复切换中英文状态。
⒃svim/vi/vim常用操作,入门介绍
⒄同vi/vim一样,在normal模式下,用户使用h/j/k/l来移动光标位置
⒅h(左 l(右
⒆并同时支持以下移动方式
⒇w 下移一个单词
⒈b 前移一个单词
⒉e 移动到单词尾部(大部分环境同w
⒊i 当前位置插入
⒋a 同 i ,当前位置插入
⒌o 往下插入一行
⒍O 往上插入一行
⒎x 删除当前字符
⒏d 删除visual模式中选择的片段
⒐d w 删除当前单词
⒑d d 删除当前行
⒒s 删除当前字符,并进入insert模式
⒓c 同 s,删除当前字符,并进入insert模式
⒔c w 删除当前档次,并进入insert模式
⒕c b 删除当当前词头部,并进入insert模式
⒖c c 删除当前行,并进入insert模式
⒗y 拷贝 visual模式下选中部分
⒘y w 拷贝当前单词
⒙y b 拷贝前一个单词次
⒚y y 拷贝当前行
⒛p 粘贴剪切板内容(如果剪切内容是整行,则在下一行开始粘贴
①P 粘贴接切板内容(如果剪切内容是整行,则在上一行开始粘贴
②u 撤销上一步操作
③U 重做上一步撤销的操作
④J 将当前行与下一行合并
⑤g g 跳到当前编辑区最前方
⑥G 跳转(前导数字N,则跳到第N行,否则跳到编辑区末尾
⑦svim模式开启/关闭
⑧在svim面板上,用鼠标单击 v 键 可以关闭或则开启svim模式。
⑨svim模式也可以快速开启/关闭,快捷热键 CapsLock+v (注意CapsLock如果不特殊设置,被映射为下文介绍的GeeKey,Shift+CapsLock执行大小写转换
⑩svim的特殊设定
Ⅰ在normal状态下,按下esc键会向系统发送esc,而visual和insert模式下,esc会被拦截,svim状态返回normal状态。
Ⅱ基于windows下普遍的输入特性,append(a 命令不在表示在当前字符之后插入 而是和 insert(i 命令一样都是在当前位置插入。
Ⅲ为了大部分输入环境的行为一致,svim不支持r/R操作。
Ⅳ修复寄存器bug
Ⅴ增加正则替换功能
Ⅵ增加命令模式中文支持。