长沙做网站建设公司哪家好,华为快速建站,太原网站建设鸣蝉,wordpress注册页面在什么文件下载问题描述
今天发现一个重大bug#xff0c;我竟然用了一年多都不知道#xff01;
CapsLock::Esc 我的 ahk 脚本将 capslock 映射为 esc#xff0c;但这在vim环境中#xff0c;估算响应 500ms。 也就说按下 caps 键#xff0c;还要等一会#xff0c;才进入normal模式 如果…问题描述
今天发现一个重大bug我竟然用了一年多都不知道
CapsLock::Esc 我的 ahk 脚本将 capslock 映射为 esc但这在vim环境中估算响应 500ms。 也就说按下 caps 键还要等一会才进入normal模式 如果直接按 esc 键延迟50ms这两者对比差异感觉很明显。
测试方法
实验一 测试环境因素影响。分别在 Idea、vscode、终端 nvim 测试以下步骤做对照实验。
快速循环按 a Caps 结果都偶尔出现意外插入字母a快速循环按 a Esc 结果都不会出现意外插入字母a。
推测原因 caps 按键经过 AHK 脚本处理时可能加载了其他功能最后映射到 Esc 这个过程估算 500ms 。
实验二 测试拓展功能影响。准备两个脚本一个只有一行映射命令如上另一个拓展了很多功能的 CapslockMagic。重复实验一的步骤。
结论 结果单行命令脚本延迟在 50 ms 内。这说明 CapslockMagic 脚本中大量的 Caps * 以及 ^! Caps 相关按键拓展功能增加脚本加载时间每次都遍历所有相关映射才导致明显的延迟 500 ms。
解决方案
一 转移单键压力适应新的按键习惯 ✅
init.vim 和 .ideavimrc 配置文件中设置 jk 映射 esc键估算延迟 50 ms 学会适应新的按键习惯。
inoremap jk ESCvscode 的插件快捷键管理vscode-neovim比较特殊应该这样写进 快捷键 JSON 文件ctrlp 搜索 shot // vscode 特殊写法两个 inoremap jk ESC{command: vscode-neovim.compositeEscape1,key: j,when: editorTextFocus neovim.ctrlKeysInsert neovim.init neovim.mode insert,args: j},{command: vscode-neovim.escape,key: j k,when: editorTextFocus neovim.ctrlKeysInsert neovim.init neovim.mode insert,args: jk},二 脚本全局配置调参
❌ 查询开发文档即使设置无延迟按键等选项都不能降低延迟只能增高。
三 削减按键功能
❌ Caps 增强功能太强大还跨系统砍掉是不值得的。