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

347 天前
 BeyondReach

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

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

3683 次点击
所在节点    macOS
52 条回复
sinotw
346 天前
@sinotw 这个从操作上应该是最符合 op 要求的,手就没离开过 cmd 和 v ,但是我忘了叫什么名字了,知道的兄弟贴上来
zcf0508
346 天前
BeyondReach
346 天前
@xxmym #17 感谢,这款软件确实比较符合我的想法。不过它有一个缺点,不能一眼看到所有的复制记录,你不知道你想找的复制记录在哪一条
BeyondReach
346 天前
@zeroFans pasteNow 并不能实现我的想法,和其他兄弟提到的软件一样,它也不能把显示复制记录面板,和选择下一条复制记录设置成同一个快捷键
imokkkk
346 天前
之前在 win 上用 ditto 确实很方便,后来换了 mac 用的 maccy ,还是差了点意思
OneMan
346 天前
快一点慢一点无所谓,生活和工作依然波澜不惊
iX8NEGGn
346 天前
CopyQ 可以,我用它替代了所有 Ditto 功能,不过要自己写脚本
BeyondReach
346 天前
@imokkkk 确实。关于剪贴板历史记录软件,大家日常基本用不到太多的复制的功能。但是最普通的显示复制历史记录面板,选择历史记录,使用频率相当大。如果在这里能节省操作步骤,对日常的使用体验提升非常大。

我很喜欢 Ditto 的一个快捷键实现两个功能的逻辑
BeyondReach
346 天前
@iX8NEGGn 麻烦能说具体一点吗? 我下载了软件,在里面不能把 “显示\隐藏主窗口”和“复制下一项”设置为同一个快捷键
iX8NEGGn
346 天前
[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
346 天前
@iX8NEGGn 我在 CopyQ 的 github 里找到有人有类似的需求,有人提供的脚本。我试了一下,确实可以实现我想要的效果了。就是显示的复制历史记录界面太繁琐了,不如 ditto 的简洁。
[Cycle items and paste with single hotkey · Issue #1948 · hluk/CopyQ]( https://github.com/hluk/CopyQ/issues/1948)
BeyondReach
346 天前
@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
346 天前
@BeyondReach ,界面可以设置的,我只显示一个面板,所有图标都不显示,很简洁
iX8NEGGn
346 天前
#32 我看了下,差不多一样,我当初应该也是复制这个脚本,然后改了一下满足我的需求
BeyondReach
345 天前
@iX8NEGGn #34 我简化后只能这个样子,还有 windows 窗口的窗口,最大化最小化图标,不如 ditto 的简洁

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1020666

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX