首页 >PC >正文

用 CopyQ 打造符合自己习惯的高效率好帮手

CopyQ 是一个剪贴板管理工具,跨平台,有及其强大的扩展定制能力,没听说过的请自行搜索了解。这里就只是简单展示下本人平时使用的场景,其他场景请自由发挥,充分利用好这个神器,帮助自己提高各种效率,特别是学习和工作。

快速添加选中内容到Anki

说明:

笔记类型:@Basic 和 @Cloze 是自定义的,其实就是在默认的基础上新增了URL和Title字段,所以你的Anki里面没有对应的话就修改成自己有的,比如“Basic” 或者“基本”

代码最后一行的 GlobalShortcut=ctrl+alt+a 就是触发的快捷键,选中文本然后按键盘 Ctrl+Alt+A 就可以呼出菜单

[Command]

Name=QuickAnki

Command="

copyq:

ankiPost = function (args = {}) {

const AnkiHost = 'http://127.0.0.1:8765'

const AnkiVersion = 6

const ankiRes = networkPost(AnkiHost,JSON.stringify({

version: AnkiVersion,

action: args.action,

params: args.params

}))

if (ankiRes.error) {

throw ankiRes

}

const data = JSON.parse(str(ankiRes.data))

if (data.error) {

throw data.error

}

}

ankiPostWithSource = function (args = {}) {

if (args.params && args.params.note && args.params.note.fields) {

args.params.note.fields.Url = clipboard('Chromium internal source URL') + ''

args.params.note.fields.Title = currentWindowTitle() + ''

}

ankiPost(args)

}

showQuickMenus = function () {

const menus = [

{ 'text/plain': '@Basic-Front' },

{ 'text/plain': '@Basic-Back' },

{ 'text/plain': '@Cloze-Text' },

{ 'text/plain': '@Basic-Front-HTML' },

{ 'text/plain': '@Basic-Back-HTML' },

{ 'text/plain': '@Cloze-Text-HTML' },

{ 'text/plain': '@Basic-Front-CODE' },

{ 'text/plain': '@Basic-Back-CODE' },

{ 'text/plain': '@Cloze-Text-CODE' }

]

var selectedIndex = menuItems(menus)

const menu = menus[selectedIndex]

if (!menu) {

abort()

}

const label = menu['text/plain']

const [modelName,field,mime] = label.split('-')

const mimeType = mime === 'HTML' ? 'text/html' : 'text/plain'

let content = clipboard(mimeType) + ''

if (mime === 'CODE') {

content = `${escapeHtml(clipboard())}


` } ankiPostWithSource({ action: 'guiAddCards',params: { note: { deckName: '系统默认',modelName,fields: { [field]: content } } } }) } copy() showQuickMenus()" IsGlobalShortcut=true Icon= GlobalShortcut=ctrl+alt+a

批量添加英文句子到Anki

说明:

@YouDao 是自定义的笔记类型,主要是放原文的Word,放解释的Exp,放音标的Phone,还有放音频的Audio,其他的都只是附加信息

这个命令做的事情就是解析每一行文本,用有道查询解释和音标,然后用Google翻译的TTS生成朗读音频,最后生成一条Anki笔记,笔记里面有3个卡片模板,分别用来练习阅读、写作、听力,而口语能力在刷这3张卡片的时候都可以跟读练习,所以这样就够我用了

代码太长就不贴上来占篇幅了,有需要的就告知。另外如有其他个性化的需求,愿意支持的朋友请到某宝搜店铺(码农爱学习),可以提供定制服务,CopyQ和Anki都可以。

快捷查询

说明:

查词和翻译只是个人需求,Linux上没有开源好用的取词软件,我这样做一是减少安装一个常驻程序,二是使用习惯可以跨平台,仅供参考。

不要局限于演示的案例,任何支持通过URL传参的网站都可以,搜索引擎、AI等等,随意在menus里面添加修改即可。

[Command]

Name=QuickQuery

Command="

copyq:

showQuickMenus = function () {

const menus = [

{ 'text/plain': 'Query-Youdao',url: 'https://www.youdao.com/result?word=%1&lang=en' },

{ 'text/plain': 'Query-Deepl',url: 'https://www.deepl.com/en/translator#en/zh/%1' },

{ 'text/plain': 'Query-Google',url: 'https://translate.google.com/?sl=en&tl=zh-CN&text=%1&op=translate' },

]

var selectedIndex = menuItems(menus)

const menu = menus[selectedIndex]

if (menu) {

open(menu.url.replace('%1',encodeURIComponent(clipboard())))

}

}

copy()

showQuickMenus()"

IsGlobalShortcut=true

Icon=

GlobalShortcut=ctrl+alt+q

一键摘录做笔记

说明:

本质上就是写文件,在这个基础上能尝试的玩法也是无穷无尽的了

记得把文件路径修改成你自己的

[Command]

Name=Obsidian

Command="

copyq:

obsidianInbox = function () {

const html = str(clipboard('text/html')).replace(/^]*>/,'')

const dataToWrite = `${html || str(clipboard())}

---

${currentWindowTitle() + ''}

${clipboard('Chromium internal source URL') + ''}`

var f = new File(`D:obsidianNotes/${Date.now()}.md`)

if (!f.openWriteOnly() || f.write(dataToWrite) == -1) {

throw 'Failed to save the file: ' + f.errorString()

}

f.close()

}

copy()

obsidianInbox()"

IsGlobalShortcut=true

Icon=

GlobalShortcut=ctrl+alt+s未来探索到其他新奇高效的玩法再回来补充更新吧,水平有限,如有错漏欢迎批评指正。

网友评论

验证码 换一张
取 消
暂无评论...
三日内热门评论文章
为您推荐
  • 相关阅读
  • 业界资讯
  • 手机通讯
  • 电脑办公
  • 新奇数码
  • 软件游戏
  • 科学探索