键盘改造
回忆上次内容
  • 上次练习了复制粘贴
按键
作用
<kbd>y</kbd><kbd>y</kbd>
复制光标行代码 到剪贴板
<kbd>p</kbd>
粘贴剪贴板中的内容
<kbd>i</kbd>
切换到 插入模式
<kbd>h</kbd> <kbd>j</kbd> <kbd>k</kbd> <kbd>l</kbd>
左 下 上 右 移动
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 温习了 底行命令
命令
作用
:reg
查看寄存器状态
:w
保存当前文件
:q
退出当前文件
:wq
保存并退出当前文件
  • 但是<kbd>esc</kbd>有点遥远
  • 有什么办法 解决 吗?
 
恢复环境
vi oeasy.py
  • 复制代码
print("hello") print("oeasy")
  • 在vim中
  • <kbd>"</kbd><kbd>+</kbd><kbd>p</kbd>
  • 从系统剪切板 粘贴
 
双手正位的好处
  • 双手在正位
  • 无需移动腕关节
  • 直接 控制手指 进行打字
  • 效率高
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 不要把 右手手腕 移动到方向键区域
  • 尝试 双手正位 移动光标
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 但是<kbd>esc</kbd>有点遥远
  • 有什么办法 解决 吗?
 
置换 <kbd>esc</kbd> 和 <kbd>caps lock</kbd>
  • 在mac系统中
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 然后将大写锁定直接改为<kbd>esc</kbd>
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • windows系统应该如何修改呢?
windows系统修改键位
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 将下列代码保存为caps.reg文件,运行即可。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,01,00,3a,00,3a,00,01,00,00,00,00,0
  • 注意编码格式和保存类型
 

 
 
添加图片注释,不超过 140 字(可选)
 
原理
  • 原理
  • 通过注册表编辑器手动添加
 
Win+R -> regedit -> 找到 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout” -> 右键 “Keyboard Layout” -> “新建” -> “二进制值” -> 重命名 “新值 #1” 为 “Scancode Map” -> 右键 “Scancode Map” -> “修改” -> 输入值如下
  • 解释一下这串数字的意思,先换种分组
1 0000 | 00 00 00 00
2 0004 | 00 00 00 00
3 0008 | 03 00 00 00
4 000C | 01 00 3a 00
5 0010 | 3a 00 01 00
6 0014 | 00 00 00 00
7 0018
  • 原理
  • 头两行和最后一行是固定的8个0
  • 第3行第一个字节为非零行数(或者改建数+1)
  • 第4行将3a00(CapsLock)映射为0100(ESC)
  • 第5行同理
 
 
目前状态
  • 回到当前的 oeasy.py
  • 2行
  • 30个字符
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 新手法
  • 可以通过<kbd>h</kbd> <kbd>j</kbd> <kbd>k</kbd> <kbd>l</kbd> 移动了
  • 用<kbd>caps lock</kbd> 代替<kbd>esc</kbd>
  • 双手保持正位
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
回顾流程流程
  • 保存后的流程 应该是
  • 要先:wq
  • 退出 vim应用
  • 回到 shell环境
 
  • 再在 shell中运行
  • python3 oeasy.py
 
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 回顾一下vim的三种状态
小节 vim中的 三种状态
  • 这是vim中三种状态切换的地图
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 需要的话 拍下来
总结
  • 这次 置换 <kbd>esc</kbd> 和 <kbd>caps lock</kbd>
  • 任何操作 都可以在
  • 不移动 手腕的状态下完成了
 
按键
作用
<kbd>capslock</kbd>
替换 <kbd>esc</kbd> 切回 正常模式
<kbd>h</kbd> <kbd>j</kbd> <kbd>k</kbd> <kbd>l</kbd>
左 下 上 右 移动
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 每次都要 退出vim编辑器
  • 才能 在shell中 运行python程序
  • 有点麻烦
 
 

 
 
添加图片注释,不超过 140 字(可选)
 
  • 想要 不退出vim
  • 直接在 vim应用 中
  • 运行 py程序
  • 可能吗?
 

[oeasy]python0015_键盘改造_将esc和capslock对调_hjkl_移动_双手正位的更多相关文章

  1. 关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法

    好久没见了 在项目中遇到一个小小的需求,总结了一下! 详细我就不介绍了,相信大家用过的话,很了解.详见文档-----------> http://element-cn.eleme.io/#/zh ...

  2. CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料_WeArTrends时尚资讯网_国内最专业的服装设计资讯网站

    CLOSE-UP FORMALWEAR_意大利进口_2015秋冬_男装发布会_西装图片系列_男装西装设计资料_WeArTrends时尚资讯网_国内最专业的服装设计资讯网站 CLOSE-UP FORMA ...

  3. ARM核心板_迅为imx6工控核心板_核心板中的小新潮

    ARM核心板_迅为imx6工控核心板_核心板中的小新潮核心板参数 尺寸 51mm*61mm CPU Freescale Cortex-A9 四核 i.MX6Q,主频 1.2 GHz 内存 2GB DD ...

  4. SSM整合_年轻人的第一个增删改查_基础环境搭建

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  5. SSM整合_年轻人的第一个增删改查_查找

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  6. SSM整合_年轻人的第一个增删改查_新增

    写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...

  7. layer的alert、prompt等操作如何响应键盘的回车和ESC操作

    layer.prompt({title: '请输入数据', formType: 1, //隐藏用户输入内容 // 这个是确定按钮的事件 "success":function(){ ...

  8. win7将 esc与 capslock 互换

    一天手软,于是买了一个机械键盘.cherry g80-3494 红轴各方面都不错就是有一个问题我经常用vim,其中esc.及F键区离主键盘区实在是太远了. 习惯于vim模式的人都有一种懒症,就是手指非 ...

  9. AJ学IOS 之小知识之_xcode插件的删除方法_自动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自动提示,

    AJ分享,必须精品 一:解决解决自动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自动提示 其实,插件神马的我们自己也能写,并没有想象中的那么难,不过目前我们还是先解决当前问题 在做微 ...

  10. 随心测试_软测基础_001<说在开始_测试理念>

随机推荐

  1. Istio(三):服务网格istio可观察性:Prometheus,Grafana,Zipkin,Kiali

    目录 一.模块概览 二.系统环境 三.可观察性 四.指标 4.1 代理级指标 4.2 服务级指标 4.3 控制平面度量 五.Prometheus 5.1 安装Prometheus 5.2 部署示例应用 ...

  2. HTML——input之密码框

    在 HTML 中,把 <input> 标签的 type 属性设置为 password 可以表示密码框.具体语法格式如下: <input type="password&quo ...

  3. .NET 将多个程序集合并成单一程序集的 4+3 种方法

    将 .NET 程序集与依赖合并到一起的方法有下面四种: 使用 .NET Core 3.0 自带的 PublishSingleFile 属性合并依赖使用 Fody使用 SourceYard 源代码包使用 ...

  4. 几个公司wiki知识库调研和感悟

    @ 目录 需求背景 具体实现 经验&吐槽 小结 需求背景 公司准备做一个知识库,我这边调研了几个项目,如下 第一个是我们耳熟能详的confluence,但是好想要收费,先搁置 第二个是mind ...

  5. uniapp 判断当前是保存还是修改操作

    步骤分析: 首先得确定你进入表单后传入了id或者整个对象[这里使用id来进行讲解]其次就是两个请求:POST(保存的) 和 PUT(修改的)最后就是通过传入的id是否存在进行判断即可  POST 请求 ...

  6. 面向对象编程 es5和es6的构造函数

     /*         面向对象编程                          本质 创建一个对象                  可以用 属性属性值的 方式 存储 数据参数         ...

  7. jquery的绑定和删除

            // 基本语法形式 $().on( 事件类型 , 事件处理函数 )         // 删除事件处理函数         // 必须绑定的是 函数名称 才能删除 绑定的事件处理函数 ...

  8. LeetCode 685. Redundant Connection II 冗余连接 II (C++/Java)

    题目: In this problem, a rooted tree is a directed graph such that, there is exactly one node (the roo ...

  9. ABC339

    题解不应该流露出太多感情,对吧. E 建议评黄. 首先我们可以想到暴力 dp. 定义 \(dp_i\) 为以 \(a_i\) 为结尾满足题目意思的最长序列的长度. 很明显,时间复杂度为 \(O(n^2 ...

  10. 使用 JavaScript 脚本来进行复杂的查询改写

    有这么一个需求: 网关里怎样对跨集群搜索进行支持的呢?我想实现: 输入的搜索请求是 lp:9200/index1/_search 这个索引在 3 个集群上,需要跨集群检索,也就是网关能否改成 lp:9 ...