请教一个问题,copyQ如何复制文件?

RT,请教一个问题,copyQ如何复制粘贴文件?
snipaste_20230129_211317
复制的文件,都是像这种的路径名称。

换ditto吧,好用。

我也想知道了,搜索了下,好像有介绍,不知道怎么用
https://copyq.readthedocs.io/en/latest/faq.html#how-to-reuse-file-paths-copied-from-a-file-manager

CopyQ 常见问题 之一。

复制下列命令,然后按截图中的步骤添加到 CopyQ 就行。

[Command]
Command="
    var originalFunction = global.clipboardFormatsToSave
    global.clipboardFormatsToSave = function() {
        return originalFunction().concat([
            mimeUriList,
            'x-special/gnome-copied-files',
            'application/x-kde-cutselection',
        ])
    }"
Icon=\xf0c1
IsScript=true
Name=Store File Manager Metadata

1 个赞

最近尝试下了 copyq 感觉挺好用,想实现几个功能

1.同步剪贴板内容按照这里设置了同步标签,并没有同步改标签剪贴板内容

2.剪贴板格式化,比如 我复制了 how are you 执行 Action 自动格式化成首字母大写,并去掉空格 HowAreUou ,我看CopyQ 是支持脚本的,文档看得我一头雾水

有没有深入使用 CopyQ 的文章,求分享

非常感谢,我去试试。

就是 js 语法. 只是有内置的对象 方法 属性.
image

这个同步我用的 onedrive , 没问题.

会不会是你的标签页名称漏了 &

试试下面这个命令

错误命令
  • 自动命令的内容匹配应改为 ^[a-z ]+$
  • 剪贴板格式的检测应在修改剪贴板之前进行
[Command]
Name=\x77ed\x53e5\x9996\x5b57\x6bcd\x5927\x5199
Match=[a-z ]+
Command="
    copyq:
    function capitalize(text) {
      return text.replace(/(?:^| )[a-z]/g, function (i) {
        return i.toUpperCase();
      });
    }

    var text = str(input());
    var newText = capitalize(text).replace(/ /g, '');

    copy(newText); //\x4fee\x6539\x526a\x8d34\x677f\x5185\x5bb9
    setData(mimeText, newText); //\x4fee\x6539\x65b0\x6761\x76ee
    if (hasClipboardFormat(mimeHtml)) removeData(mimeHtml); //\x907f\x514d\x90e8\x5206\x7a0b\x5e8f\x4f18\x5148\x83b7\x53d6\x672a\x4fee\x6539\x7684 html \x683c\x5f0f"
Input=text/plain
Automatic=true
Icon=\xf0c4

[Command]
Name=\x77ed\x53e5\x9996\x5b57\x6bcd\x5927\x5199
Match=^[a-z ]+$
Command="
    copyq:
    function capitalize(text) {
      return text.replace(/(?:^| )[a-z]/g, function (i) {
        return i.toUpperCase();
      });
    }

    if (hasClipboardFormat(mimeHtml)) removeData(mimeHtml); //\x907f\x514d\x90e8\x5206\x7a0b\x5e8f\x4f18\x5148\x83b7\x53d6\x672a\x4fee\x6539\x7684 html \x683c\x5f0f

    var text = str(input());
    var newText = capitalize(text).replace(/ /g, '');

    copy(newText); //\x4fee\x6539\x526a\x8d34\x677f\x5185\x5bb9
    setData(mimeText, newText); //\x4fee\x6539\x65b0\x6761\x76ee"
Input=text/plain
Automatic=true
Icon=\xf0c4

CopyQ 导出的命令会把中文编码,注释直接看图吧。

CopyQ 有个官方命令仓库,对照着看会好懂一些。

没见过,我遇到问题都是一边翻文档,一边看 Issue 和讨论区的:joy:

1 个赞

我现在也是用软链接到onedrive

New-Item -ItemType Junction -Path "C:\Users\brucm\OneDrive\.config\copyq" -Target "c:\Users\brucm\scoop\persist\copyq\config\copyq"

同步时,经常出现多个标签页

不要用软链接. 直接指定路径

image


这个使用逻辑是怎样的呢,我不想自动执行,设置了全局快捷键,复制之后按F4就自动转换为首字母大写,然后再按ctrl+v 粘贴?试了没找到方法

还有F5弹出Action 这里面怎么调用自定义命令

@brucmao

我之前写的命令犯了两个错误,现在重新编辑了,如果你有用的话记得更新一下。

图片

换下面这个命令试试。按 F4 自动复制,然后将文本转为首字母大写。

[Command]
Name=\x77ed\x53e5\x9996\x5b57\x6bcd\x5927\x5199(\x5feb\x6377\x952e)
Match=^[a-z ]+$
Command="
    copyq:
    function capitalize(text) {
      return text.replace(/(?:^| )[a-z]/g, function (i) {
        return i.toUpperCase();
      });
    }

    disable() //\x7981\x7528\x526a\x8d34\x677f\x5b58\x50a8\xff0c\x907f\x514d\x5c06\x539f\x526a\x8d34\x677f\x5185\x5bb9\x6dfb\x52a0\x4e3a\x6761\x76ee

    try {
      copy();
    } catch (e) {
      popup('\x590d\x5236\x5931\x8d25', e);
      enable();
      abort();
    }

    enable();

    var text = str(clipboard(mimeText));
    var reg = /^[a-z ]+$/;

    if (!reg.test(text)) {
      notification('.title', '\x77ed\x53e5\x9996\x5b57\x6bcd\x5927\x5199', '.message', '\x6587\x672c\x4e0d\x5339\x914d', '.time', 5000);
      abort();
    }

    var newText = capitalize(text).replace(/ /g, '');

    copy(newText); //\x4fee\x6539\x526a\x8d34\x677f\x5185\x5bb9
    add(newText); //\x6dfb\x52a0\x65b0\x6761\x76ee"
Input=text/plain
IsGlobalShortcut=true
Icon=\xf0c4
GlobalShortcut=f4

为什么用 copyq 复制文件,是想保留记录方便下次粘贴吗?
那不知道复制的这个文件能不能同步,还有如果文件过大,会不会很占内存。

copyq 复制文件,在剪贴板只保留了一个路径,下一次想粘贴时就不能用了,不过开启Store File Manager Metadata 这个之后,剪贴板就会保留一份文件,如果复制了大文件,同时又用了onedrive同步…
我现在是定期清理剪贴板下的大文件

感觉好像用处不大,保存图片记录倒是很方便

可以再写个命令,把文件移到非同步标签页。

[Command]
Name=\x6587\x4ef6\x6807\x7b7e\x9875
Input=text/uri-list
Automatic=true
Remove=true
Icon=\xf03e
Tab=File

上面的命令会把复制到剪贴板的文件移动到 File 标签页。

感谢,完美解决文件复制的问题