海阔天空的云

我们在自己的世界里独自狂欢

0%

剪贴板内容自动拼接

需求

我司有个VPN,登录的时候,当然需要账户和密码。其中密码这一步比较坑,要求是公司个人账户密码+Authy动态口令。我之前做这件事比较麻烦,总是要手动输入完个人账户密码,再去打开手机的Authy客户端,看里面的动态密码,把看到的这六位动态密码输入到输入框中,整个过程体验并不是很好。后来发现电脑上也有一个Authy 客户端,这下就可以通过复制粘贴的方式去输入VPN密码了,但是我还是希望流程更顺畅一下,最好是能够做到,粘贴的时候直接把个人账户密码+Authy口令都粘贴上,不需要再手动敲键盘了。为啥这个过程有时候很痛苦呢?因为Authy的动态口令有过期时间,如果输入的速度满了,就gg了。

实现

我用到了Ditto 这款软件,这里有篇文章介绍的比较详细。它有一个比较酷的功能,也就是自己编写复制粘贴的脚本,我大概看了下,它所用的脚本语言与Javascript语法很相似,你说巧了不是?!

需要具体了解脚本怎么编写请看这里

我最后编写了这样一段代码,在paste scripts这里

代码

1
2
3
4
5
6
7
8
if(clip.GetActiveApp() == "forticlient.exe")
{
auto text = clip.GetAsciiString();
clip.SetAsciiString("password"+text);
}

return false

至于使用这段脚本也有一个坑,也就是要绑定热键

如前面提到的文章所说:

复制……复制……复制……到需要粘贴的程序中,按下热键(默认 Ctrl+`),在弹出的条目列表上,按下对应数字,或用鼠标点击所需条目,相应内容就粘贴好了。

我们需要鼠标点击所需条目的时候,能够去执行这段脚本,所以就要把执行这个脚本的paste动作绑定到相应的热键上,如下图所示:

图片

绑定好热键之后,再去做复制粘贴,就是一个比较顺畅的工作流了。

不过需要注意的是,Ditto有一点还是和我们平时使用复制粘贴的习惯不太一样,平时我们只需要Crtl+v就可以复制,但是在用这个软件的时候,必须通过`Crtl+``去呼出相应菜单选择粘贴项,但无论怎样流畅总归是更通畅了。