2020.07.09 更新

由于原作者只发布了Windows与Mac版,笔者在Linux上工作,因此自行开发了Linux版,目前还在开发中,详情戳这里。
另外作者更新了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+ 2.x版本_第1张图片

按键 效果
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+ 2.x版本_第2张图片

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

2.3 插入符号

按键 效果
capslock+9 插入()
capslock+[ 插入{}
capslock+' 插入""
capslock+, 插入<>

以上4项在选中文本时插入到文本两侧。

强大的工具(一):Capslock+ 2.x版本_第3张图片

2.4 其他修改操作

按键 效果
capslock+w 等于Backspace
capslock+r 等于delete
capslock+Backspace 删除光标所在的一行
capslock+z 撤销

连续按下capslock+z会交替撤销与重做。

强大的工具(一):Capslock+ 2.x版本_第4张图片

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

强大的工具(一):Capslock+ 2.x版本_第5张图片

2.5 剪贴板

capslock+自带两套剪贴板,分别是:

  • capslock+x/c/v
  • capslock+LAlt+x/c/v(LAlt是键盘左边的alt)

都与ctrl+x/c/v独立的一套剪切板。

  • 当选中文字时,对所选的文字操作
  • 不选中文字时,对光标所在行的文字进行操作

强大的工具(一):Capslock+ 2.x版本_第6张图片

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

强大的工具(一):Capslock+ 2.x版本_第7张图片

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+ 2.x版本_第8张图片

按键 作用
capslock+F3 下一首歌
capslock+F4 短按时将窗口变为半透明

长按时配合滚轮改变透明度。
若当前窗口的透明度,不是完全不透明,也不是半透明,则先将窗口变为完全不透明。

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

3 高级功能

3.1 [Global]全局设置

CapsLock+settings.ini中的[Global]是全局设置,其中:

  • loadScript:要加载的JS文件(要放在loadScript文件夹里),用逗号分隔
  • allowClipboard:是否允许使用独立剪切板,1为是,0为否,默认1
  • mouseSpeed:按下capslock+LAlt时鼠标的速度,范围1-20,默认3
  • autostart:是否开机启动,1为是,0为否,默认0
  • loadingAnimation:是否开启程序加载动画,1为是,0为否,默认1

强大的工具(一):Capslock+ 2.x版本_第9张图片

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中有一些定义好的函数和事例,可以参照一下:
强大的工具(一):Capslock+ 2.x版本_第10张图片
比如说笔者写的my.js:
强大的工具(一):Capslock+ 2.x版本_第11张图片
接着调用即可:
强大的工具(一):Capslock+ 2.x版本_第12张图片
如果直接打函数名字的话会出现函数的源代码。
还可以对多行字符串使用字符串函数,但要先选中:

3.4 翻译的高级设置

由于有道API每小时只能翻译1000次,想要更多请前往有道智云申请一个独立的Key,
申请到后把key写进CapsLock+settings.ini下的[TTranslate]段。
免费版的填:

apiType=0 
apiKey=xxxx(你申请的key) 
KeyFrom=xxxx

强大的工具(一):Capslock+ 2.x版本_第13张图片
收费版的填

apiType=1 
apiKey=xxxx(你申请的key)

强大的工具(一):Capslock+ 2.x版本_第14张图片

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会自动填入,选中文件会将路径填入。
强大的工具(一):Capslock+ 2.x版本_第15张图片
输入cl set可以设置CapsLock+settings.ini文件。
Qbar还能使用通配符,?表示单个,*表示多个,如a?b匹配aababbacbadb等,
a*b匹配abbabbbaccb等(不区分大小写)

强大的工具(一):Capslock+ 2.x版本_第16张图片
浏览文件目录时可以按/\tab进入下一层文件夹,按capslock+,返回上一层:

3.6.1 QRun

可以使用Qbar快速启动应用程序,在CapsLock+settings.ini中的[QRun]下添加想要快速运行的程序,接着只需在Qbar中键入相应名字即可启动,也可直接在Qbar中使用->run来设定,格式为:

xxx -> xxx

xxx ->run xxx

注意第一种->两旁有空格,第二种->前面有空格,后面紧接runrun后面有空格。
强大的工具(一):Capslock+ 2.x版本_第17张图片
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+ 2.x版本_第18张图片

添加自己的搜索引擎类似,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前缀可以省略)。例如:redffffaaFFFFAA0xFFFFAA。下面的颜色设置也一样:
属性 取值
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(好丑,对不对,好像比默认的还。。。):
强大的工具(一):Capslock+ 2.x版本_第19张图片

3.7 自定义某些按键

CapsLock+settings.ini中的[Keys]下可以改变一些capslock+按键的功能,也可以增加一些按键,capslock+支持的按键有:

  • Capslock + (LALt + ) F1~F12
  • Capslock + (LALt + ) 0~9
  • Capslock + (LALt + ) a~z
  • Capslock + (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版。