Capslock+有什么用

关于这篇文章

这篇文章会介绍 Capslock+ 主要有什么功能以及怎么去使用这些功能,让你有个了解,不会面面俱到地去细讲每个地方,如果看完之后对 Capslock+ 感兴趣,可以去看看Capslock+文档,里面的说明就是详细的。

Capslock+是什么

Capslock+ 是一个体积小巧,免安装的工具。它在不影响原Capslock键功能的前提下,将它变成一个类似shift CtrlAlt键的修饰键,跟其他键组合使用不同的便捷的功能。相信熟练地使用它将为你省时省力不少。

Capslock+的主要功能

Capslock+ 的功能主要可以分成5部分:

  1. 各种快捷键:主要是对文字操作的快捷键,熟练使用它们可以让你更加高效地对文字(代码)进行操作
  2. Qbar:用于快速搜索、快速打开文件(夹)、网页等
  3. WinBind:将窗口跟按键绑定起来,从而可以通过按键在不同窗口间快速切换
  4. TabScript:用于快速输出一些常用字符串以减少重复输入,以及对数学表达式进行计算,甚至是对文字进行复杂的操作
  5. WinJump:直观地激活当前桌面显示的窗口

各种基础快捷键

占了 Capslock+ 所有组合键中大部分的是各个功能简单而基本的文本操作快捷键,例如比较常用的有:

  1. Capslock+E / D / S / F(上 / 下 / 左 / 右)
  2. Capslock+I / K / J / L(上 / 下 / 左 / 右选中文字)
  3. Capslock+w / r(向左 / 右删除文字)
  4. Capslock+; / P(移动光标至行首 / 行末)
  5. Capslock+Backspace(删除光标所在行所有文字)

它们是我最常用的功能,熟练使用它们可以在很多时候不用再去伸手碰鼠标,或者右手山长水远地去够那天涯海角边的方向键,大大降低你在文字编辑时手要移动的距离。

详细说明看这里

另外,一些同学表示希望可以自己配置快捷键。但是我希望大家可以去适应一下现有的布局,快捷键方便的一个很大的原因就是无论你在哪台电脑上使用都是一致的。如果在一台电脑上保存Ctrl+S,而另一台是Ctrl+P,那就很麻烦了。

如果在习惯了Capslock+之后,到了一台陌生电脑,只要下载,打开就可以用,反正不用安装。但是如果不按默认的来习惯,就得重新设置或者随身带个设置文件才行了。

另外Capslock+的快捷键布局是我按使用频率、顺手程度和易记程度等因素,在实际使用中反复改了两年(到写这句话为止)才慢慢定下来的,期间换了多次按键位置,也增删了不少功能,我相信布局还是比较合理的。例如,很多人可能觉得上 / 下 / 左 / 右应该放在W / S / A / D会比较习惯。但是注意这些快捷键是为文本操作而设,跟游戏不同,玩游戏的话手可以一直放在W / S / A / D的位置,但是文字操作时如果用 WSAD 移动完光标手终究得放回 EDSF 上,那样每次要操作光标手就要移动一下,光标移动是最常用的,移这么一下就会变得很累赘。

如果觉得哪些按键确实不合理,或者觉得多余,或者想添加什么功能,可以联系我,我会考虑要不要修改的。

Qbar

Qbar 就是这个东西,你可以通过Capslock+Q喊它出来。如果你觉得这个配色丑成狗了,你可以在Capslock+settings.ini里面定义自己想要的颜色,以及其他一些设置选项。

详细说明看这里

Qbar

快速搜索

你可以通过 Qbar 快速地进行搜索:

默认搜索

默认搜索引擎是百度,你可以随便改成其他的,例如上面就改成了默认谷歌。

Capslock+ 自带的搜索还有:

  • s(bd):百度
  • g(gg):谷歌
  • m:MDN
  • tb:淘宝
  • wk:维基百科

各种搜索

提前对文字选中再按下Capslock+Q可以将文字填入:

自动填入关键字

你可以添加或修改搜索的命令,设置要写在Capslock+settings.ini里面,而Capslock+settings.ini是初次运行Capslock+会自动生成的一个文件。一起生成的还有一个叫Capslock+settingsDemo.ini的,这个文件里面有各种设置项的说明,对照着它,把需要更改的设置写到Capslock+settings.ini里,保存后设置就会生效。

例如,添加一个必应的搜索,可以这样操作:

  1. 打开必应
  2. 随便搜一个关键词,例如capslockplus
  3. 在结果页面的地址栏上找到capslockplus
  4. 把包括capslockplus和后面的所有字符替换成{q}
  5. Capslock+settings.ini[Search]下,添加一项设置,保存
  6. 利用刚才添加的设置所取的名字来搜索

添加搜索命令

“好麻烦啊…每次设置都要打开那什么文件…”——可能你会这样想,我也觉得,所以我加了个快速打开这两个文件的命令:cl set。喊出 Qbar ,输入它,回车:

快速打开设置文件

甚至这样:
在 Qbar 输入key ->search value来记录:

快速添加搜索命令

快速打开文件(夹)

用 Qbar 快速打开文件(夹):

打开文件

在 Qbar 里输入路径,它会展示该路径下的所有文件和文件夹,在这过程中按下Capslock+ECapslock+D(或者上下键),可以选择文件,/键(或\键)把选中的文件名填入 Qbar,Capslock+B可以退回到上层目录。

如果某些文件或文件夹经常会用到,可以把它们登记到Capslock+settings.ini里,以后就可以用简写来启动它们:

记录文件并打开

你可以打开 Qbar,输入cl set,找到[QRun],复制文件路径,取个简称,写到Capslock+settings.ini,保存,来添加一个快速打开文件的设置。

也可以用命令:key -> filepath。在 Qbar 里面输入任意的名字 空格 -> 空格 文件路径然后回车,来快速登记一个设置。而文件路径你也不用去复制,直接选中该文件后,按下Capslock+Q,就可以拿到路径。然后在前面加上其他东西就好了:

快速记录文件

而当你把一个文件夹记录到Capslock+settings.ini后,你还可以在 Qbar 里快速填入该文件夹的地址,来查看那个文件夹下(或上层)的文件,然后快速打开:

浏览已记录的文件夹下的文件

快速打开网页

在 Qbar 里面输入网址,可以直接打开那个网站。同样,也可以把常用的网站登记到Capslock+settings.ini来用简称打开它,操作方法也类似上面的,这里就不再说了。

开打网址

需要注意的是,在我多次想要搜索类似node.js这样形式类似网站的关键词,却被当成网站打开了之后,我就把对网站的判定范围缩小了:只有开头是httpwww,或者带有.com.net.org的文字才会认定为是网站。也就是说只有符合这个条件的地址才会被打开。不符合这个条件的网站,可以在网站前面带上web命令来打开。

补充说明

Qbar 没有做到像其他快捷启动工具那样可以搜索全部已安装程序,一是因为自行登记的方法已经可以做到快速启动某个程序(虽然麻烦了点),二是因为从 win8 开始,Win+Q快捷键就有搜索程序的功能,没有必要再去重复实现。所以如果你的系统是 win8+,可以搭配使用 windows 自带的Win+Q来搜索程序。
v2.6.0 还是加上了搜索全部已安装程序。

WinBind

窗口绑定功能,可以将一个或多个窗口绑在`(反引号)或1~8一共 9 个按键之中的某个按键上,然后就用 Capslock+该按键灵活地在切换它们。

详细说明看这里

模式 1

模式 1 的绑定是将某个窗口绑定在按键上,然后 Capslock+该按键就可以对这个窗口进行激活 / 最小化操作。
模式 1 绑定窗口的操作是这样的:

  1. 激活需要绑定的窗口
  2. 按下Capslock+LAlt+` / 1~8Capslock键 + 左Alt键 + `1~8之中的任意一个)
  3. (多次)按下Capslock+` / 1~8激活 / 最小化该窗口

一些使用频率高,但是又不需要长时间激活的窗口就很适合用这个模式来绑定,绑定完就可以随时激活该窗口,然后操作完就缩下去:

模式 1

模式 1 绑定可以在你将绑定窗口关闭之后,自动寻找相同程序的另一个窗口并绑定,如果该程序是未开启状态,就会启动该程序。

模式 2

模式 2 可以将多个窗口绑定在一个按键上,然后 Capslock+该按键就可以在这些窗口之间轮流切换。
模式 2 绑定窗口的操作如下:

  1. 激活需要绑定的窗口
  2. 按下Capslock+LAlt + ` / 1~8 2 次(双击`1~8之中的任意一个)
  3. 重复动作 1 和 2
  4. (多次)按下Capslock+` / 1~8来轮流激活这些窗口

模式 2 绑定适合当你需要在两个或者多个窗口之间轮流切换的时候使用:

模式 2

模式 3

模式 3 和模式 2差不多,都是可以绑定多个窗口,只是模式 3 是绑定同一程序下的所有窗口,包括绑定操作过后才打开的窗口。
模式 3 绑定操作:

  1. 激活需要绑定的程序的任意一个窗口
  2. 按下Capslock+LAlt + ` / 1~8 3 次(三击`1~8之中的任意一个)
  3. (多次)按下Capslock+` / 1~8来轮流激活该程序的各个窗口

当该程序只有 1 个窗口时,会激活 / 最小化该窗口。当该程序还没启动,会启动该程序。

TabScript

TabScript 也就是Capslock+Tab实现的功能,它主要有3 个功能:

  1. 快速地在任意地方输入一些常用的文字
  2. 对数学表达式进行计算
  3. 如果你熟悉 JavaScript ,还能进行更加复杂的计算和字符串操作(不熟悉的同学可以无视这条,以及后面关于这条的介绍)

详细说明看这里

HotString

当你在Capslock+settings.ini中的[TabHotString]有设置记录项时,就可以用Capslock+Tab来把光标左边的key替换成value。例如有一条这样的记录:email=123456789@abc.com,那当你光标左边有email这个单词时,Capslock+Tab会把email替换成123456789@abc.com

热字串

也可以记录多行的文字:

多行热字串

但是因为ini文件每条设置只允许占用一行,所以多行文字必须把换行符换成\n,也就是每处换行的地方都用\n来代替,从而把多行文字写成一行。你也可以用Qbar来记录,那样的话会自动帮你把\n替换好:

快速记录热字串

热字串的替换不仅仅对于[TabHotString]下的设置有效,对于[QRun][QWeb]下的也有效,所以如果你在[QRun]下有记录某个常用的文件(夹),在文件选择的时候就可以快速把那个文件(夹)的地址填入:

利用热字串选择文件

数学计算

你可以在任意能输入文字的地方输入数学表达式,然后Capslock+Tab计算它:

计算数学表达式

使用 JavaScript

对 JavaScript 不了解的同学可以跳过这一部分

TabScript 对字符串计算的功能其实是用 JavaScript 引擎实现的,所以你可以运行不仅限于数学表达式的 JavaScript 代码。

例如这样计算1~100的和,var i=0,j=101;while(j--)i+=j;

计算1~100的和

TabScript 允许你这样调用函数:

1
2
3
any text any text
any text any text
.functionX()

在任意文字的下一行使用String对象的方法。以上代码就相当于执行:

1
2
//注意特殊符号会被转义,换行符会被换成'\n'
'any text any text\nany text any text'.functionX()

那么,你就可以像这么干:
用 egg 替换所有 apple

你还可以添加自己编写的js文件,放到loadScript目录下,并在Capslock+settings.ini下的[Global]下的loadScript添加该文件名,Capslock+ 会在启动的时候加载它们,这样你就可以通过 TabScript 使用自己写的函数。Capslock+ 自带了一个scriptDemo.js文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//截止至2016-4-23,它的内容如下
function stepNum(){
var arr = [],
init = arguments[0]||1,
count = arguments[1]||10,
step = arguments[2]||1;

while(count--){
arr.push(init);
init+=step;
}
return arr;
}

function roll(){
return Math.round(Math.random()*(arguments[0]||100));
}

//String.prototype
var sp=String.prototype;
sp.alignment = function(){
var arr = this.replace(/\n$/,'').split('\n'),
sign = arguments[0]||'=',
sort = arguments[1]||false, //sort by name?
regex = new RegExp(sign+'\\s*');

//sort by the length of variable name
var arr2 = arr.slice(0).sort(function(a,b){
return a.indexOf(sign) - b.indexOf(sign);
}),
eqIndex = arr2[arr2.length-1].indexOf(sign);

if(sort)arr=arr2;

arr.forEach(function(item,i){
var iIndex=item.indexOf(sign),
s=Array(eqIndex-iIndex+2).join(' ');
arr[i]=item.replace(regex,s+sign+' ');
})
return arr.join('\n');
}
sp.repeat = function(){
return Array((arguments[0]||2)+1).join(this);
}

Global下默认就有loadScript=scriptDemo.js,就是说 Capslock+ 已经加载它了。那么你就可以用里面的方法了:

输出一组步进的数字

下一件,贼法德,要的roll...(人品能再差点吗)

对齐变量声明

刷屏神器

WinJump

WinJump 功能可以直观地激活当前激活窗口周围可见的窗口:

winJump

其他功能

窗口置顶和窗口透明

Capslock+F6可以让某窗口保持置顶,而Capslock+F4可以让窗口半透明,对于前端的我来说,经常会这样用(相信也有其他很好的用途):

  1. 打开页面设计稿图片,置顶该窗口
  2. 设置到半透明,叠到浏览器上
  3. Capslock+LAlt放慢鼠标速度调整图片位置,让它和正在写的页面准确重叠
  4. F12,调节元素位置大小直到重叠
  5. 完美实现设计稿

前端实现设计稿

独立剪贴板

Capslock+X / C / VCapslock+LAlt+X / C / V是两套独立的剪贴板,利用它们可以方便地交换文字,或者临时把一段文字保存起来重复使用,而又不影响正常复制粘贴。

Capslock+ 剪贴板

翻译

Capslock+T 调用了有道翻译的 api,实现了翻译功能:

翻译

不过接口有访问次数限制(每小时 1000 次),建议有这个需求的同学自己去申请一个 key,然后在Capslock+settings.iniTTranslate填上自己申请的 key,那样就不用和其他人共用一个 key 了。

结束

本文到这里结束,如果看完对 Capslock+ 感兴趣,可以到Capslock+文档看看更加详细的说明。