GlobalVim—全局Vim&GeeKey热键 (en)

最新版本号: v2019.05.17
免安装绿色版: globalvim.zip.latest
安装程序: globalvim.exe.latest

GlobalVim的 vim模式 能在任意编辑场景使用vim模式编辑。
GlobalVim的 geekey热键系统提供丰富的编辑快捷键加速日常编辑工作。

升级日志

2019.05.17   取消取色器功能,增加状态重设按钮用于键盘状态错误时,重新设置状态。
2019.05.16.2   修复当以Esc为GeeKey时候与vim模式的冲突。
2019.05.16.1   增加GeeKey长短按模式。
2019.05.16   寄存器鲁棒性加强,visual模式替换bug修复,支持GeeKey热键自定义。移除安装文件权限要求。
2019.05.14   修复寄存器bug,增加正则替换功能,增加命令模式中文支持。
2019.05.11   添加寄存器机制,支持宏录制, 支持命令reg, register。
2019.05.07   GlobalVim模式查找命令修改。

    vim模式 —— 把所有辑器和输入框都变成vim

    GlobalVim的vim模式并不只是简单的vim键位映射,它还支持vim的各种模式以及常用命令:

    vim模式在任何编辑器和输入框中均生效。

    vim模式支持寄存器机制,支持录制包含键盘和鼠标事件的广义宏。

    vim模式表达式寄存器“= 上可对python表达式求值。

    vim模式支持完全的的正则表达式替换功能

    vim常用操作,入门介绍(可参考详细的vim教程)

    normal 常规模式

    在启动vim模式后,vim所在模式即为normal模式。该模式下我们可以通过由字符或字符组合命令实现光标移动或者编辑操作。
    normal模式不能直接输入。该模式下按i即可进入插入模式。

    insert 插入模式

    normal模式下,按下 i/a 键进入插入模式,可以在当前模式插入字符,插入模式下,按esc进入normal模式
    插入模式与常用的无模式编辑的状态一致。

    visual 可视模式

    在normal模式下,按 v 即可进入visual模式,然后移动光标选择范围。visual模式下,按 v 或者 esc 退出到 normal 模式。
    visual模式下,可对选中的范围执行正则替换命令

    command 命令模式

    在normal或者visual模式下,按:进入命令模式,光标在提示窗口处激活,处于输入命令状态。
    按esc取消当前命令。
    按enter执行当前命令。

    在normal模式下,用户使可用h/j/k/l及等命令来快速移动光标位置

                  k(上)

    h(左)              l(右)

                  j(下)

    w     下移一个单词
    b     前移一个单词
    e     移动到单词尾部(大部分环境同w)
    0     移动到行首
    $     移动到行尾
    {      跳到段首
    }      跳到段尾

    常用命令
    i      当前位置插入
    I      在行首插入
    a      同 i ,当前位置插入
    A      在行末插入
    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行,否则跳到编辑区末尾)

    "" 默认寄存器
    "= 表达式寄存器 "=
    "a-z 命名寄存器
    "A-Z 追加寄存器
    "0 拷贝寄存器
    "1-9 删除寄存器

    查看寄存器值命令: reg
    搜索(调用当前环境的搜索功能): /

    正则替换

    vim模式支持正则替换,
    替换命令支持范围指定,支持偏移量,不支持 c 标志
    替换当前行:

    1
    :s/xx/yy/  或者 :.s/xx/yy/gi
    

    替换当前后前后3行:

    1
    :.-3,.+3s/xx/yy/g
    

    替换全文:

    1
    :%s/xx/yy/g
    

    "=表达式寄存器

    表达式寄存器支持对python表达式求值:
    在当前位置插入0-99的序列

    1
    “=' '.join( map(str, range(100) ) )【回车】p
    

    vim模式开启/关闭

    通过在程序面板:单击 v 键
    通过快捷键:GeeKey+v (需要开启geekey热键)

    vim模式特殊设定

    在normal状态下,按下esc键会向系统发送esc,而visual和insert模式下,esc会被拦截,vim状态返回normal状态。
    基于windows下普遍的输入特性,append(a) 命令不在表示在当前字符之后插入 而是和 insert(i) 命令一样都是在当前位置插入。
    为了大部分输入环境的行为一致,GlobalVim不支持r/R操作。

    对中文输入的特别支持

    命令模式下,按键事件会先被GlobalVim捕获,不会发送给输入法。

    GeeKey 热键

    GlobalVim提供了一套以任意选定键为热键的快捷键方案(geekey方案),补充了vim模式编辑的不足。

    GeeKey 方案秉承了vim的基本精神:

    让手指尽量不离开主键盘区域

    为达到这个目的,在不影响按键原有功能和布局的原则下,用户可自行选择频率相对低的按键X作基础热键(推荐CapsLock):点击面板左上方GK按钮进行设置。
    GeeKey热键支持两种模式:
    1. 长短按, 短按状态下,GeeKey行使原按键功能。长按或者组合键则阻塞原按键功能。
    2. 阻塞,始终阻塞GeeKey原按键功能。

    通过热键,最常用编辑操作(上下左右,Home/End,PageUp/PageDown)都不用移动手掌,只需要GeeKey+相应按键即可完成。
    CapsLock 与 Esc, ~ , Tab, Shift, Ctrl, Win Alt 的按键位置可以通过程序面板进行交换(但需要以管理员模式运行程序才能操作,重启生效)。其余与热键连用的映射则可以随时通过相应方式方便地进行修改。

    GeeKey方案快捷键组合的四种类型

    I. 快捷编辑键
        点击相应按键定义区,然后选择热键功能, 即可完成定义.
        触发编辑键 X:GeeKey+X

    II. 输入快捷文本
         点击相应按键定义区, 在弹出的文本框中输入文字, 然后点击确定即可定义文本按键内容
         触发文本键 X:GeeKey+X(或GeeKey+Space X 触发 X 的 空格绑定)

    III. 操作录制
         录制操作序列到按键X: Ctrl+GeeKey+X (或者Ctrl+GeeKey+Space+X)开始录制; Ctrl+GeeKey 结束录制;
         在弹出对话框中, 可以修改操作序列和重放速率(当重放速率为0时, 表示无间隔重放操作序列)。修改完成后, 点击确定保存录制.
         触发操作键 X:GeeKey+X(或者GeeKey+Space X 触发空格绑定)

    IV. 快速启动程序
         操作和快捷文本类似,点击相应按键的定义区(如图中F2键),然后选择或输入程序路径,最后点击确认。
         触发程序键 X:GeeKey+X(或 GeeKey+Space X 触发空格绑定)

    批量操作/自动补全

    GeeKey系统提供了类似vim的前导数字批量操作功能:

    GeeKey+~ 【非零数N】 【操作】              【操作】会被执行N次

    例:GeeKey+~ 99 【下移光标】 会执行向下移动99行的操作

    GeeKey+Tab    按键 开启/关闭 自动补全功能。

    GeeKey会根据输入历史记录自动提供候选项。当出现候选项菜单时,可以忽略选项继续输入,也可以用上下光标移动或者Tab选择候选项,最后使用Return/Tab之一来将候选项补齐到输入区,Esc可以取消此次补全。

    其它

    vim模式命令自定义

    GlobalVim定制自由度很大。软件启动的所有配置信息都在文件 %安装文件夹%/config/globalvim.ini 中。
    当配置出现错误,软件不能启动时,用户需要删除globalvim.ini,并重启软件。
    配置项的内容可以通过宏录制来得到。录制结果的第二个参数为重放速率,0为无限快,1为原样速率。

    normal模式 自定义命令

    修改globalvim.ini中的vim_map_按键序列::

    命令模式 自定义命令

    修改globalvim.ini中的vim_cmd_map_cmdname::

    用户修改配置文件之后,需要重新载入才能生效,否则配置文件的修改会被覆盖。

    修复鼠标硬件错误导致的错误双击

    GlobalVim窗口 选项>配置 中可以设置 修复 鼠标双击硬件错误
    当勾选此项时,鼠标左键抬起操作引发的额外左键按下抬起操作会被忽略。

    升级须知

    升级时默认配置会被覆盖,因此用户可利用菜单栏布局另存为保存当前配置

    已知问题

    键盘numlock开启,可能会导致vim模式启动后,shift一直按下的情况

    当出现键盘状态错误时

    点击主界面左上方Clear按键,可以重置所有按键的状态。