V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
BeyondReach
V2EX  ›  macOS

Mac 上有哪款粘贴板记录管理软件,可以实现像 Ditto 那样,使用一个快捷键就可以完成显示、选择、粘贴的操作

  •  
  •   BeyondReach · 267 天前 · 3247 次点击
    这是一个创建于 267 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Ditto 只需要使用一个快捷键:按一次出现复制的历史记录列表,再按就从第一个记录往下选择,放开快捷键就将选择到的记录粘贴到当前光标处

    Mac 上免费的 Maccy ,无法实现这样的设置,默认要使用 ctrl+shift+C 调出复制历史记录表,使用 ctrl+1 ,ctrl+2 选择第一第二位置的记录,要不停地切换快捷键,麻烦得很

    第 1 条附言  ·  267 天前

    多谢大家提到的各种软件~~ 但是大家可能没注意到我的问题,我想找的是可以只使用一个快捷键,就打开复制历史记录面板,然后可以在历史记录中往下选择的软件

    我试了一下大家提到的Paste和Alfred,它们只是实现了粘贴板历史记录的功能,没有能实现我想要的功能。

    如果用过windows下的Ditto,应该能理解我想实现的这个功能的意思

    52 条回复    2024-08-12 04:03:19 +08:00
    huangzhe8263
        1
    huangzhe8263  
       267 天前
    现在用的是 raycast 的 clipboard ,快捷键呼出,搜索或者上下键选择,回车复制或者粘贴。
    似乎也做不到一个快捷键
    Achieve7
        2
    Achieve7  
       267 天前
    paste 有个 Stack 模式 可以复制完一次性粘贴
    fruitmonster
        3
    fruitmonster  
       267 天前
    uTools 的剪切板,可以用 utools 快捷键调出剪切板之后,上下键选择历史,回车选择

    A555
        4
    A555  
       267 天前
    用的 fastclip
    BeyondReach
        5
    BeyondReach  
    OP
       267 天前
    @fruitmonster 这个操作还是比 ditto 的麻烦很多

    ditto 上整个过程,左手都不需要更换任何按键,而 utools 要按快捷键,上下键,回车,麻烦太多
    EricFuture
        6
    EricFuture  
       267 天前
    用了一圈,我现在用得 utools 的剪切板
    neoC
        7
    neoC  
       267 天前
    alfred 就有这功能
    x4gz
        8
    x4gz  
       267 天前 via iPhone
    虽然 mac 有很多剪切板 app 但应该没有这种一个快捷键完成所有功能的 要不用 hammerspoon 自己撸一个吧
    zeroFans
        9
    zeroFans  
       267 天前
    utools ,raycast 都有这样的功能,但是我觉得打磨的最好的还是 pasteNow
    wilsonsui
        10
    wilsonsui  
       267 天前
    wilsonsui
        11
    wilsonsui  
       267 天前
    忽略回复 没看到 op 发了
    UxwVI042kEc5pNx6
        12
    UxwVI042kEc5pNx6  
       267 天前
    Pin
    goodryb
        13
    goodryb  
       267 天前
    目前用的是 Alfred 的剪贴板管理, 快捷键呼出,上下选择,回车粘贴
    cnjs
        14
    cnjs  
       267 天前
    @neoC +1 使用好几年了,很丝滑。alfred 使用最多的一个功能
    yangxiaopeipei
        15
    yangxiaopeipei  
       267 天前
    hapigo 还是需要选择
    xxmym
        16
    xxmym  
       267 天前   ❤️ 1
    xxmym
        17
    xxmym  
       267 天前
    @xxmym command+shift+v 按住呼出,再按 v 切换下一个,松手粘贴,最多记录 99 条。
    缺点是功能比较简洁,只能复制文本,也不能搜索什么的,我一般和 iCopy 结合者用。
    038666
        18
    038666  
       267 天前
    paste
    BeyondReach
        19
    BeyondReach  
    OP
       267 天前
    @Achieve7 这个模式并不是是我想要实现的功能
    sinotw
        20
    sinotw  
       267 天前
    我记得以前用过一个软件,使用 cmd +vv 呼出历史剪贴板,在屏幕下方列出,同时按住 cmd 不放,不停按 v 就在各条中切换,选中后就放开 cmd ,就贴上了,但是当时这个软件就很久不更新了,和现在的系统肯定是不兼容了
    sinotw
        21
    sinotw  
       267 天前
    @sinotw 这个从操作上应该是最符合 op 要求的,手就没离开过 cmd 和 v ,但是我忘了叫什么名字了,知道的兄弟贴上来
    zcf0508
        22
    zcf0508  
       267 天前 via Android
    BeyondReach
        23
    BeyondReach  
    OP
       267 天前
    @xxmym #17 感谢,这款软件确实比较符合我的想法。不过它有一个缺点,不能一眼看到所有的复制记录,你不知道你想找的复制记录在哪一条
    BeyondReach
        24
    BeyondReach  
    OP
       267 天前
    @zeroFans pasteNow 并不能实现我的想法,和其他兄弟提到的软件一样,它也不能把显示复制记录面板,和选择下一条复制记录设置成同一个快捷键
    imokkkk
        25
    imokkkk  
       266 天前
    之前在 win 上用 ditto 确实很方便,后来换了 mac 用的 maccy ,还是差了点意思
    OneMan
        26
    OneMan  
       266 天前
    快一点慢一点无所谓,生活和工作依然波澜不惊
    iX8NEGGn
        27
    iX8NEGGn  
       266 天前 via iPhone
    CopyQ 可以,我用它替代了所有 Ditto 功能,不过要自己写脚本
    BeyondReach
        28
    BeyondReach  
    OP
       266 天前
    @imokkkk 确实。关于剪贴板历史记录软件,大家日常基本用不到太多的复制的功能。但是最普通的显示复制历史记录面板,选择历史记录,使用频率相当大。如果在这里能节省操作步骤,对日常的使用体验提升非常大。

    我很喜欢 Ditto 的一个快捷键实现两个功能的逻辑
    BeyondReach
        29
    BeyondReach  
    OP
       266 天前
    @iX8NEGGn 麻烦能说具体一点吗? 我下载了软件,在里面不能把 “显示\隐藏主窗口”和“复制下一项”设置为同一个快捷键
    iX8NEGGn
        30
    iX8NEGGn  
       266 天前
    [Commands]
    1\Name=\x663e\x793a/\x9690\x85cf\x7a97\x53e3\x6216\x5faa\x73af\x7c98\x8d34\xff08\x9012\x589e\xff09
    1\Command="
    copyq:

    const selectedTabOption = 'cycleItemsSelectedTab';
    const selectedRowOption = 'cycleItemsSelectedRow';

    if (focused() && length() > 0) {
    settings(selectedTabOption, selectedTab());

    const sel = ItemSelection().current();
    const rows = sel.rows();
    const row = rows.length > 0 ? (rows[0] + 1) % length() : 0;
    settings(selectedRowOption, row);

    selectItems(row);
    } else {
    settings(selectedRowOption, -1);
    showAt();

    // Wait for shortcut modifiers to be released.
    while (queryKeyboardModifiers().length > 0) {
    sleep(20);
    }

    const row = settings(selectedRowOption)
    if (row != -1) {
    tab(settings(selectedTabOption));
    select(row);
    hide();
    paste();
    }
    }

    // \x6709 bug\xff0c\x4f1a\x81ea\x52a8\x590d\x5236\x6761\x76ee"
    1\InMenu=true
    1\IsGlobalShortcut=true
    1\Icon=\xf15b
    1\GlobalShortcut=ctrl+`
    2\Name=\x5141\x8bb8\x91cd\x590d\x6dfb\x52a0(\x5168\x90e8)
    2\Command="
    global.saveData = function() {
    var bug = str(data(mimeWindowTitle)).endsWith(\"- CopyQ\")
    if(bug) abort()

    var formats = dataFormats()
    if (formats.length !=0){
    var item = {}
    for(var i=0; i<formats.length; i++){
    var mime = formats[i]
    if(!mime.startsWith(\"application/x-copyq\")){
    item[mime] = data(mime)
    }
    }
    add(item)
    }
    }

    global.onClipboardUnchanged = function() {
    if(str(data(mimeOwner))==\"\"){
    onClipboardChanged()
    }
    }"
    2\IsGlobalShortcut=true
    2\IsScript=true
    2\Icon=\xf15b
    2\GlobalShortcut=ctrl+alt+w
    size=2


    复制以上文本导入 CopyQ ,包含两个脚本,一个是允许添加重复文本,另一个是像 Ditto 一样,按 Ctrl + ` 就显示面板,连续按可以下一条,松手将选择的文本粘贴。

    CopyQ 可以通过脚本实现几乎所有功能,就是它的文档太复杂了,不过我已经摸透,有其他需求可以继续追问。
    BeyondReach
        31
    BeyondReach  
    OP
       266 天前
    @iX8NEGGn 我在 CopyQ 的 github 里找到有人有类似的需求,有人提供的脚本。我试了一下,确实可以实现我想要的效果了。就是显示的复制历史记录界面太繁琐了,不如 ditto 的简洁。
    [Cycle items and paste with single hotkey · Issue #1948 · hluk/CopyQ]( https://github.com/hluk/CopyQ/issues/1948)
    BeyondReach
        32
    BeyondReach  
    OP
       266 天前
    @iX8NEGGn #30 非常感谢~~

    我现在用这个脚本实现了:[copyq-commands/Global/cycle-items.ini at master · hluk/copyq-commands]( https://github.com/hluk/copyq-commands/blob/master/Global/cycle-items.ini)

    不知道效果和你贴的是不是一样
    iX8NEGGn
        33
    iX8NEGGn  
       266 天前
    @BeyondReach ,界面可以设置的,我只显示一个面板,所有图标都不显示,很简洁
    iX8NEGGn
        34
    iX8NEGGn  
       266 天前
    #32 我看了下,差不多一样,我当初应该也是复制这个脚本,然后改了一下满足我的需求
    BeyondReach
        35
    BeyondReach  
    OP
       266 天前
    @iX8NEGGn #34 我简化后只能这个样子,还有 windows 窗口的窗口,最大化最小化图标,不如 ditto 的简洁

    BeyondReach
        36
    BeyondReach  
    OP
       266 天前
    @iX8NEGGn #34 设置成复制内容显示为一行,终于感觉有点刻意了,就是头部的地方去不掉

    iX8NEGGn
        37
    iX8NEGGn  
       266 天前
    差不多了,不过我还把单行显示开启了,更简洁些,窗体边框、最小化图标等貌似没法关闭。可以尝试去提下 Feature ,或 Fork 一份修改,Windows 上倒是挺好改的,我之前因为它的循环粘贴有 bug 自己改过一次,刚看了好像在 7.10 中修复了。
    BeyondReach
        38
    BeyondReach  
    OP
       266 天前
    @iX8NEGGn #37 嗯,我也找到单行显示的设置了,这样的基本可以了。
    BeyondReach
        39
    BeyondReach  
    OP
       263 天前
    QGlYOE5FR0duICMzNyAKCk1hYyBtaW5pIE0y5LiK6KOF5LqGQ29weVHvvIzlpI3liLbnmoTml7blgJnmj5DnpLrplJnor6/vvJoKTm90ZSBbMjAyNC0wMy0wOSAxMjozNDo1OC43OTFdIDxTZXJ2ZXItMjc5Nj46ICAgIC0tLSBiYWNrdHJhY2UgLS0tCk5vdGUgWzIwMjQtMDMtMDkgMTI6MzQ6NTguNzkxXSA8U2VydmVyLTI3OTY+OiAgICBAZXZhbCBjb2RlOjMKTm90ZSBbMjAyNC0wMy0wOSAxMjozNDo1OC43OTFdIDxTZXJ2ZXItMjc5Nj46ICAgICVlbnRyeUBldmFsIGNvZGU6NQpOb3RlIFsyMDI0LTAzLTA5IDEyOjM0OjU4Ljc5MV0gPFNlcnZlci0yNzk2PjogICAgZXZhbDpvbkNsaXBib2FyZENoYW5nZWQoKQpOb3RlIFsyMDI0LTAzLTA5IDEyOjM0OjU4Ljc5MV0gPFNlcnZlci0yNzk2PjogICAgZXZhbChhcmd1bWVudHNbMF0pKCkKTm90ZSBbMjAyNC0wMy0wOSAxMjozNDo1OC43OTFdIDxTZXJ2ZXItMjc5Nj46ICAgIC0tLSBlbmQgYmFja3RyYWNlIC0tLQpOb3RlIFsyMDI0LTAzLTA5IDEyOjM2OjMwLjE1OV0gPFNlcnZlci0yNzk2PjogRXhjZXB0aW9uIGluIGNvbW1hbmQ6IFNjcmlwdEVycm9yOiBSZWZlcmVuY2VFcnJvcjogendsWiBpcyBub3QgZGVmaW5lZApOb3RlIFsyMDI0LTAzLTA5IDEyOjM2OjMwLjE1OV0gPFNlcnZlci0yNzk2PjogICAgCgoK5ZyoZ2l0aHVi5LiK55yL5Yiw6L+Z5Liq77yaCjcuMS4wIExhdGVzdApOT1RFOiBtYWNPUyByZWxlYXNlIGlzIGN1cnJlbnRseSBibG9ja2VkIHVudGlsICMyNDUwIGlzIHJlc29sdmVkLgpbUmVsZWFzZSA3LjEuMCDCtyBobHVrL0NvcHlRXShodHRwczovL2dpdGh1Yi5jb20vaGx1ay9Db3B5US9yZWxlYXNlcy90YWcvdjcuMS4wKQoKCuaYr+S4jeaYr01hY+eOsOWcqOaXoOazleeUqOi/meS4qui9r+S7tuS6hu+8nwoK
    BeyondReach
        40
    BeyondReach  
    OP
       263 天前
    @BeyondReach #38

    @iX8NEGGn #37 Mac mini M2 上装了 CopyQ ,复制的时候提示错误:
    Note [2024-03-09 12:38:48.785] <Server-2796>: --- backtrace ---
    Note [2024-03-09 12:38:48.785] <Server-2796>: @eval code:3
    Note [2024-03-09 12:38:48.785] <Server-2796>: %entry@eval code:5
    Note [2024-03-09 12:38:48.785] <Server-2796>: eval:onClipboardChanged()
    Note [2024-03-09 12:38:48.785] <Server-2796>: eval(arguments[0])()
    Note [2024-03-09 12:38:48.785] <Server-2796>: --- end backtrace ---
    Note [2024-03-09 12:38:48.988] <Server-2796>: Exception in command: ScriptError: ReferenceError: zwlZ is not defined
    Note [2024-03-09 12:38:48.988] <Server-2796>:


    在 github 上看到这个:7.1.0 LatestNOTE: macOS release is currently blocked until #2450 is resolved.
    [Release 7.1.0 · hluk/CopyQ]( https://github.com/hluk/CopyQ/releases/tag/v7.1.0)


    是不是 Mac 现在无法用这个软件了?
    iX8NEGGn
        41
    iX8NEGGn  
       263 天前 via iPhone
    @BeyondReach 下 7.0 呗,不过可能循环复制粘贴时有 bug ,粘贴之后有时会错误的把粘贴的内容又复制到 CopyQ ,或下 6.5 之前的没这个 bug
    BeyondReach
        42
    BeyondReach  
    OP
       262 天前
    @iX8NEGGn #41 安装了 6.4.0 版本,没有错误提示了,但是复制的内容就是不显示在程序里
    Ozonated
        43
    Ozonated  
       254 天前
    @OneMan 好一个波澜不惊
    BeyondReach
        44
    BeyondReach  
    OP
       254 天前
    @sinotw #21 兄弟,你以前用过,现在不用了么😁
    BeyondReach
        45
    BeyondReach  
    OP
       254 天前
    @goodryb 能用,但是操作太复杂了,ditto 只用一个组合键 ctrl+~就实现你说的这些功能了(不过只能往下选择)
    BeyondReach
        46
    BeyondReach  
    OP
       251 天前
    @iX8NEGGn #27 我用了这个脚本,只能通过快捷键显示复制条目,选择条目,但松开快捷键的时候,并不会在光标处粘贴该条目
    iX8NEGGn
        47
    iX8NEGGn  
       251 天前
    @BeyondReach #46 比如我的快捷键是 “Ctrl + `”,按住 “Ctrl” 不放,然后按下 “`”,这时显示界面,然后再按下 “`”,这时会自动选择下一条,然后松手就粘贴当前条了。

    你应该是只按 “Ctrl + `” 然后松手,如果弄成这样的逻辑的话,改下脚本代码也行,但这岂不是每次按下 “Ctrl + `” 都必须粘贴,有时候只是想调出界面,然后从某一条开始粘贴(不一定是从第一条),之后再循环粘贴。

    所以现在的脚本逻辑是这样的,第一下先按 “Ctrl + `” 调出界面,然后鼠标选择从哪一条开始执行循环粘贴,双击它粘贴这一条,之后每次按住 “Ctrl” 不放,然后按下 “`”,然后再按下 “`”,然后松手就粘贴下一条了。
    BeyondReach
        48
    BeyondReach  
    OP
       250 天前
    @iX8NEGGn #47 我的操作应该和你是一样的,也就是 windows 上 Ditto 的操作逻辑:快捷键是 “Ctrl + `”,按住 “Ctrl” 不放,然后按下 “`”,这时显示界面,然后再按下 “`”,这时会自动选择下一条,然后松手就粘贴当前条了。

    也就是使用 Ctrl+`,显示页面,按住 Ctrl 不放,按下“`”来向下选择条目,当选择到想要粘贴的条目后,放开 Ctrl+`,这样该条目就会粘贴到鼠标光标所有的位置

    请问你的脚本,或者我在 github 上找到的脚本,也是我这样的操作逻辑吗?
    iX8NEGGn
        49
    iX8NEGGn  
       250 天前
    @BeyondReach 是的,是这样的逻辑
    iX8NEGGn
        50
    iX8NEGGn  
       250 天前
    https://copyq.readthedocs.io/en/latest/known-issues.html#known-issue-macos-paste-after-install
    https://github.com/hluk/CopyQ/issues/1030
    https://github.com/hluk/CopyQ/issues/1245

    在 macOS 上,CopyQ 在安装/更新后不会粘贴:

    CopyQ 不是签名应用程序,您需要在安装或更新时再次授予可访问性。

    要解决此问题,请尝试以下步骤:

    转到系统偏好设置 -> 安全和隐私 -> 隐私 -> 辅助功能(或仅搜索“允许应用程序使用辅助功能”)。

    单击解锁按钮。

    从列表中选择 CopyQ 并将其删除(使用“-”按钮)。
    BeyondReach
        51
    BeyondReach  
    OP
       250 天前
    @iX8NEGGn #50 这软件也太麻烦了,其他的剪贴板管理软件都没这毛病。

    我用了你提示的方法,已经可以粘贴了。之前我只是点击授权的圆圈,没想到要删除后再授权

    现在还有一个问题,我复制的内容,好像不会出现在 CopyQ 里了,之前还能正常显示复制的内容的,忽然就不行了
    monkeybape
        52
    monkeybape  
       108 天前 via iPhone
    一直也在找 Mac 上的替代
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3235 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:17 · PVG 08:17 · LAX 16:17 · JFK 19:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.