强大的工具(一):Capslock+ 2.x版本
2020.07.09 更新
作者更新了3.x版本,因此更新了3.x版本的博客,可以戳这里。
本篇文章介绍的是2.x版本。
1 Capslock+简介
Capslock+利用了键盘少用的Capslock键,实现了很多强大的操作。Capslock+是开源的,源码在Github上,点击这里查看,不强制收费。
官网:Capslock+官网。
2 基础功能
2.1 光标移动
| 按键 | 效果 |
|---|---|
| capslock+e | 光标向上 |
| capslock+d | 光标向下 |
| capslock+s | 光标向左 |
| capslock+f | 光标向右 |

| 按键 | 效果 |
|---|---|
| capslock+a | 光标向左跳过一个词 |
| capslock+g | 光标向右跳过一个词 |
| capslock+y | 光标向上5行 |
| capslock+b | 光标向下5行 |
注意使用a和g时汉字可能会整句跳过。

| 按键 | 效果 |
|---|---|
| capslock+= | 光标向下移动一页 |
| capslock+- | 光标向上移动一页 |
| capslock+p | 光标到行首 |
| capslock+; | 光标向行尾 |

2.2 光标选择
| 按键 | 效果 |
|---|---|
| capslock+i | 光标向上选中 |
| capslock+k | 光标向下选中 |
| capslock+j | 光标向左选中 |
| capslock+l(小写L) | 光标向右选中 |
| capslock+h | 光标向左选中一个词 |
| capslock+n | 光标向右选中一个词 |
与a、g一样,h和n对于汉字可能会选择整句。

| 按键 | 效果 |
|---|---|
| capslock+0 | 光标向上选中5行 |
| capslock+m | 光标向下选中5行 |
| capslock+u | 光标向行首选中 |
| capslock+o | 光标向行尾选中 |

2.3 插入符号
| 按键 | 效果 |
|---|---|
| capslock+9 | 插入() |
| capslock+[ | 插入{} |
| capslock+' | 插入"" |
| capslock+, | 插入<> |
以上4项在选中文本时插入到文本两侧。

2.4 其他修改操作
| 按键 | 效果 |
|---|---|
| capslock+w | 等于Backspace |
| capslock+r | 等于delete |
| capslock+Backspace | 删除光标所在的一行 |
| capslock+z | 撤销 |
连续按下capslock+z会交替撤销与重做。

| 按键 | 效果 |
|---|---|
| capslock+space | 等于Enter |
| capslock+Enter | 不论光标是否在行尾,直接换行 |

2.5 剪贴板
capslock+自带两套剪贴板,分别是:
- capslock+x/c/v
- capslock+LAlt+x/c/v(LAlt是键盘左边的alt)
都与ctrl+x/c/v独立的一套剪切板。
- 当选中文字时,对所选的文字操作
- 不选中文字时,对光标所在行的文字进行操作


capslock+F12可关闭独立剪切板的功能,关闭后capslock+x/c/v与capslock+LAlt+x/c/v失效,capslock+F12可重新开启。
2.6 翻译
capslock+t 翻译,默认使用有道API翻译,可以选中或不选中翻译。
- 选中即直接翻译选中的词或句子
- 不选中的话,若光标在整个句子或整个单词的右侧,或者光标在句子或单词的中间时,可以翻译光标所在的句子或单词
- 光标在句子或单词的左侧时,会翻译上一个句子或单词
- 建议英文不选中翻译,中文选中翻译
注意:
- 1、翻译的面板可以修改,重新输入后按Enter可继续翻译
- 2、获取单词发送通过ctrl+c实现,请确保按下capslock+t的时候ctrl+c不会有额外操作
- 3、翻译功能通过有道API实现,请求频率限制为每小时1000次,也就是所有使用该翻译功能的人一小时内翻译次数不能超过1000次,突破限制的方法在下面介绍

2.7 临时改变鼠标速度
按住capslock+LAlt可临时改变鼠标的速度,按住capslock+LAlt再配合滚轮上下滚动可以增加或减慢速度,一般是先配合滚轮设定速度,松开LAlt与capslock后再一起按从而临时改变速度。

2.8 切换窗口
| 按键 | 作用 |
|---|---|
| capslock+LAlt+e | 切换当前窗口上面的窗口 |
| capslock+LAlt+d | 切换当前窗口下面的窗口 |
| capslock+LAlt+s | 切换当前窗口左边的窗口 |
| capslock+LAlt+f | 切换当前窗口右边的窗口 |
| capslock+LAlt+a | 切换当前窗口最左侧的窗口 |
| capslock+LAlt+g | 切换当前窗口最右侧的窗口 |
对窗口位置的判定是以当前窗口的横竖中线为依据。

2.9 快速打开/关闭窗口
| 按键 | 作用 |
|---|---|
| capslock+LAlt+j | 把当前窗口最小化且记录当前窗口为capslock+LAlt+l即将打开的窗口 |
| capslock+LAlt+k | 把当前窗口最小化且记录当前窗口为capslock+LAlt+l最后一个打开的窗口 |
| capslock+LAlt+l | 打开队列中的第一个窗口,并将其移出队列 |
| capslock+LAlt+h | 清楚窗口队列的记录 |
这与队列类似,capslock+LAlt+j把窗口放进队首,capslock+LAlt+k把窗口放进队尾。

2.10 切换标签
| 按键 | 作用 |
|---|---|
| capslock+LAlt+w | 等价于ctrl+shift+tab |
| capslock+LAlt+r | 等价于ctrl+tab |

2.11 模拟光标滚动
| 按键 | 作用 |
|---|---|
| capslock+LAlt+y | 页面向上移动5行,光标不动 |
| capslock+LAlt+b | 页面向下移动5行,光标不动 |
| capslock+LAlt+- | 光标移动到页首 |
| capslock+LAlt+= | 光标移动到页尾 |

2.12 F1-F6的功能
| 按键 | 作用 |
|---|---|
| capslock+F1 | 打开帮助文档网页 |
| capslock+F2 | 弹出计算面板 |
在计算面版被激活的情况下,若切换为大写,主键盘一部分被替换成小键盘,对应关系如下:
| 按键 | 对应字符 |
|---|---|
| m | 1 |
| , | 2 |
| . | 3 |
| j | 4 |
| k | 5 |
| l | 6 |
| u | 7 |
| i | 8 |
| o | 9 |
| p | * |
| [ | / |
| ; | + |
| ' | - |
| space | 0 |
| RAlt | . |
shift+Enter会将计算结果输出到下一行,ctrl+Enter或capslock+space为换行。

| 按键 | 作用 |
|---|---|
| capslock+F3 | 下一首歌 |
| capslock+F4 | 短按时将窗口变为半透明 |
长按时配合滚轮改变透明度。
若当前窗口的透明度,不是完全不透明,也不是半透明,则先将窗口变为完全不透明。

| 按键 | 作用 |
|---|---|
| capslock+F5 | 重载capslock+ |
| capslock+F6 | 置顶/解除置顶一个窗口,即若该窗口不是处于置顶的状态,则将该窗口置顶,若窗口处于置顶的状态,则解除窗口的置顶状态 |

3 高级功能
3.1 [Global]全局设置
CapsLock+settings.ini中的[Global]是全局设置,其中:
loadScript:要加载的JS文件(要放在loadScript文件夹里),用逗号分隔allowClipboard:是否允许使用独立剪切板,1为是,0为否,默认1mouseSpeed:按下capslock+LAlt时鼠标的速度,范围1-20,默认3autostart:是否开机启动,1为是,0为否,默认0loadingAnimation:是否开启程序加载动画,1为是,0为否,默认1

3.2 capslock+Tab
capslock+Tab可以实现补全与计算的功能。
3.2.1 补全
这个补全其实是将某一字符串替换成你自定义的字符串,需要在CapsLock+settings.ini中进行设置。
CapsLock+settings.ini中有三个字段有字符串替换功能,分别是[TabHotString]、[QRun]与[QWeb],优先级是[TabHotString]>[QRun]>[QWeb],也就是如果三个字段下都有相同的键名,会按优先级顺序替换,但最好不要重复键名,替换的最好都在[TabHotString]中设置。
格式为:
键名 = 要替换的字符串
例如:

3.2.2 计算
计算其实是运行相应的JavaScript代码,处理的是光标左边的字符,直到遇到第一个空格或行首,之间的字符串会被认为是表达式:
- 当表达式不带=时,会替换掉原来的表达式
- 当表达式带=时,将结果输出到=右侧,计算不出结果时返回?
- 若表达式带有空格,则要先选中表达式或在表达式头部加上反引号`
- 若表达式跨越多行,只能选中
(对于比较严格的计算,如金钱计算,慎用!!!)

3.3 JS自定义函数
首先要编写自己的.js文件,把它放到capslock+文件夹下的loadScript文件夹,然后在CapsLock+settings.ini中的[Global]中,在loadScript=scriptDemo.js后面加上,在加上自己的js文件名,保存,capslock+F5重载capslock+,然后就可以使用了
scriptDemo.js中有一些定义好的函数和事例,可以参照一下:

比如说笔者写的my.js:

接着调用即可:

如果直接打函数名字的话会出现函数的源代码。
还可以对多行字符串使用字符串函数,但要先选中:

3.4 翻译的高级设置
由于有道API每小时只能翻译1000次,想要更多请前往有道智云申请一个独立的Key,
申请到后把key写进CapsLock+settings.ini下的[TTranslate]段。
免费版的填:
apiType=0
apiKey=xxxx(你申请的key)
KeyFrom=xxxx

收费版的填
apiType=1
apiKey=xxxx(你申请的key)

3.5 窗口绑定
窗口绑定有三种模式:
- 直接绑定
- 绑定多个窗口到同一按键
- 统一程序窗口绑定到统一按键
3.5.1 直接绑定
capslock+LAlt+1-8,把当前的窗口绑定到相应按键,接着capslock+1-8,会激活绑定到相应按键的窗口。
若当前窗口不是绑定的窗口则先切换到按键绑定的窗口,若当前窗口是按键绑定的窗口,则会最小化该窗口,或从最小化复原。
另外,capslock+LAlt+反单引号也可绑定窗口,激活时capslock+反单引号。

3.5.2 绑定多个窗口到同一按键
绑定多个窗口到同一按键很简单,按住capslock+LAlt后,按两次被绑定的按键就行。
比如先选中某一个窗口,capslock+LAlt+1绑定(按两次1),选中另一个窗口后,再capslock+LAlt+两次1,然后capslock+1会按绑定次序打开窗口,多次按下时类似用Alt+tab切换绑定的窗口,会优先打开最常使用的窗口:

3.5.3 把当前窗口所属程序的所有窗口绑定
这种情况针对同一个程序打开了多个不同窗口的情况,比如打开理论多个word文档,此时便派上了用场。
按住capslock+LAlt后,按三次被绑定的按键就行。
比如打开了3个txt,切换到三个txt之一后,按capslock+LAlt+1(按三次1),然后三个txt都被绑定到capslock+1上,然后按capslock+1会在这三个txt之间切换,类似于Alt+tab,也会优先打开最常用的窗口:

3.6 Qbar
Qbar是按capslock+q弹出的框,可以方便地浏览文件、打开文件、与打开网页或是用引擎搜索,Esc可关闭,重新按capslock+q可获得焦点,选中字符后按capslock+q会自动填入,选中文件会将路径填入。

输入cl set可以设置CapsLock+settings.ini文件。
Qbar还能使用通配符,?表示单个,*表示多个,如a?b匹配aab,abb,acb,adb等,
而a*b匹配abb,abbb,accb等(不区分大小写)

浏览文件目录时可以按/或\或tab进入下一层文件夹,按capslock+,返回上一层:

3.6.1 QRun
可以使用Qbar快速启动应用程序,在CapsLock+settings.ini中的[QRun]下添加想要快速运行的程序,接着只需在Qbar中键入相应名字即可启动,也可直接在Qbar中使用->run来设定,格式为:
xxx -> xxx
或
xxx ->run xxx
注意第一种->两旁有空格,第二种->前面有空格,后面紧接run,run后面有空格。

QRun也可设定用来打开文件的程序,比如在[QRun]下有:
aa = "xxxx/xxx.exe"
bb = "xxx/xxxx"
则在Qbar中输入aa bb就会使用aa打开bb。
3.6.2 QSearch
这个可以用搜索引擎快速搜索,内置了bd(百度),wk(维基),g(谷歌),m(MDN),tb(淘宝),默认为百度。

当然可以自定义,例如改变默认搜索引擎,在CapsLock+settings.ini中的[QSearch]添加default=xxxxx,也可以直接在Qbar中default -> xxxx,这需要通过网址定位到搜索的关键词,并将关键词修改成{q}。


添加自己的搜索引擎类似,CapsLock+settings.ini中的[QSearch]中添加,或在Qbar中使用 ->search添加:

3.6.3 QWeb
打开网站,直接输入网址即可,可以在Qbar中使用->web 定义,也可在CapsLock+settings.ini中的[QWeb]下定义,xxx = xxxx。

ctrl+Enter可在前面加www.,后面加.com,如输入taobao,ctrl+Enter会打开www.taobao.com,对于含有.net,.com,.org,www.,http://,https://的网站可以直接当作网址打开而不是用默认引擎去搜索,一些特定的网站可以加上web xxxx打开。

3.6.4 QStyle
在CapsLock+settings.ini中的[QStyle]下自定义Qbar的样式。
颜色可以是指定16种HTML基础颜色之一或6位的RGB颜色值(0x前缀可以省略)。例如:red、ffffaa、FFFFAA、0xFFFFAA。下面的颜色设置也一样:
| 属性 | 取值 |
|---|---|
| borderBackgroundColor | 背景颜色,默认red |
| borderRadius | 边框四角圆角程度,默认9 |
| textBackgroundColor | 文字输入框的背景颜色,默认green |
| textColor | 输入文字的颜色,默认ffffff,白色 |
| editFontName | 输入文字的字体,默认Hiragino Sans GB W6 |
| editFontSize | 输入文字大小,默认12 |
| listFontName | 提示列表字体,默认consoals |
| listFontSize | 提示列表字体大小,默认10 |
| listBackgroundColor | 提示列表背景颜色,默认blue |
| listColor | 提示列表文字颜色,默认0x000000 |
| listCount | 提示列表行数,默认5 |
| lineHeight | 提示列表每行高度,默认19 |
| progressColor | 进度条颜色,默认0x00cc99 |
比如这是笔者的Qbar(好丑,对不对,好像比默认的还。。。):

3.7 自定义某些按键
在CapsLock+settings.ini中的[Keys]下可以改变一些capslock+按键的功能,也可以增加一些按键,capslock+支持的按键有:
Capslock + (LALt + ) F1~F12Capslock + (LALt + ) 0~9Capslock + (LALt + ) a~zCapslock + (LALt + ) -=[]\;',./Capslock + (LALt + ) Backspace, Tab, Enter, Space, RAlt
键位以caps_开头,字母用小写表示,F1-F12用f1-f12表示,LALt用lalt表示。
键位功能以keyFunc_开头,比如:
keyFunc_volumeMute 静音keyFunc_volumeDown 音量增大keyFunc_volumeUp 音量减少keyFunc_mediaPrev 上一首keyFunc_mediaPlayPause 播放/暂停
如caps_j=keyFunc_selectLeft,具体的键位功能可用capslock+q输入cl set并在CapsLock+settingsDemo.ini中查看。
又比如在CapsLock+settings.ini中的[Keys]下添加了caps_lalt_9=keyFunc_volumeMut,则按capslock+LAlt+9可以静音。

4 最后
这基本上就是capslock+的所有功能了,作者最近才更新了,目前最新的版本是3.1.0,2020年4月更新的。
不过有一个问题就是其实capslock+e/d/s/f并不能完全代替上下左右的方向键,比如Alt+←是后退,但Alt+capslcok+s没有任何反应,当上下左右和其他键联合使用capslock还不能代替。
希望作者以后可以考虑出个Linux版。
强大的工具(一):Capslock+ 2.x版本的更多相关文章
- 发一个比trace功能更强大debug工具,MonterDebugger
经常看到兄弟说trace不出东西啊,这样给你调试会带来很多不便:加入说我们需要将运行时的debug信息和之前某个版本的进行比对:又加入说我们需要在运行时通过debug动态调整显示对象的属性:查看当前整 ...
- strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。
strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用. http://bbs.51cto.com/thread-1106891-1.html
- java里poi操作excel的工具类(兼容各版本)
转: java里poi操作excel的工具类(兼容各版本) 下面是文件内具体内容,文件下载: import java.io.FileNotFoundException; import java.io. ...
- JSON工具类的构建(后端版本)
前言 在前后端交互的选择上,之前一直采用的是模板引擎(因为我只负责后端). 而这次的一个算是作业吧,前后端都是我,所以就研究了一下JSON交互在java web的应用(主要是前端). 优缺点 前后端耦 ...
- JSON工具类的构建(前端版本)
前言 在前后端交互的选择上,之前一直采用的是模板引擎(因为我只负责后端). 而这次的一个算是作业吧,前后端都是我,所以就研究了一下JSON交互在java web的应用(主要是前端). 优缺点 因为我是 ...
- 强大的工具(一):Capslock+ 3.x版本
1 概述 作者终于把Capslock+更新到了3.x版本了,所以就更了这篇博客. 2.x版本的可以戳这里. 3.x版本与2.x版本的主要不同是更新了新的键盘布局,更加顺手,下面让我们一起来看一下吧. ...
- git版本控制工具(二)----本地版本库的常用操作
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 文件合并工具DiffMerge发布4.2版本
DiffMerge一直是文件对比合并工具的佼佼者,其最大特点是多文件对比与合并,并提供可视化界面用于编辑. 此次DiffMerge v4.2发布,提高了文件差异对比,并提供了快速匹配功能,以及更好的用 ...
- VS代码生成工具ReSharper发布8.1版本
ReSharper是一个著名的VS代码生成工具,能帮助VS成为一个更佳的IDE.JetBrains公司今天发布了ReSharper最新版本8.1. 本次新版本更新涉及到打印稿.与VS2013集成.代码 ...
随机推荐
- django学习-3.如何编写一个html页面并展示到浏览器,及相关导入错误的解决方案
1.前言 在django中,视图的概念是:具有相同功能和模板的网页,都可以称为视图.通俗一点来说,就是你平常打开任一浏览器,输入一个地址A后看到浏览器窗口展示出来地址A所对应的页面内容B,页面内容B就 ...
- Mybatis-05 注解开发
Mybatis-05 注解开发 注解开发 注解的核心是反射机制 面向接口编程的根本原因:解耦,可拓展,提高复用,分层开发中.上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性好. 1 ...
- banner自用图床2
- 1063 Set Similarity——PAT甲级
1063 Set Similarity Given two sets of integers, the similarity of the sets is defined to be Nc/Nt*10 ...
- ImageApparate(幻影)镜像加速服务让镜像分发效率提升 5-10 倍
作者介绍 李昂,腾讯高级开发工程师,主要关注容器存储和镜像存储相关领域,目前主要负责腾讯容器镜像服务和镜像存储加速系统的研发和设计工作. 李志宇,腾讯云后台开发工程师.负责腾讯云 TKE 集群节点和运 ...
- SpringBoot使用谷歌方式生成图片验证码
1.新建一个springboot的项目 2.导入坐标 <dependency> <groupId>com.github.penggle</groupId> < ...
- 腾讯数据库tdsql部署与验证
环境准备 | 主机 | IP | 配置(最低要求配置) | | :----- | ------------- | ------------------ | | node-1 | 192.168.1.8 ...
- pandas的数据筛选之isin和str.contains函数
筛选是在平时的工作中使用非常频繁的功能,前文介绍了loc和iloc的筛选方法,现在继续介绍一些筛选的方法. DataFrame列表 以>,<,==,>=,<=来进行选择(& ...
- nacos集群
本章分析一下nacos集群之间nacos服务器上线,下线原理 每5秒运行定时任务ServerListManager.ServerListUpdater获取新上线的节点或下线的节点 每2秒运行定时任务S ...
- Kubernetes Container lifecycle hooks
简介 在kubernetes中,容器hooks旨在解决服务进程启动与停止时的一些优雅操作需求.比如说进程停止时要给进程一个清理数据的时间,保证服务的请求正常结束,而不是强行中断服务的运行,这样在生产环 ...