Answers:
这已经在apple.stackexchange.com上进行了讨论(并得到了回答)。在该讨论中可接受的答案是使用Better Touch Tool。
但是,所有建议使用某种工具将鼠标单击映射到Cmd-V的解决方案都不能完全模仿X的行为,在X的行为中,您可以在鼠标控制的缓冲区和键盘控制的缓冲区中拥有不同的内容(例如,可以粘贴两个不同的字符串,具体取决于您是单击鼠标中键还是按CTRL-V。
仅用于存档:所需的内容实际上在Terminal †中有效,但仅在相同的Terminal窗口中有效:
选择一些文本(然后释放鼠标按钮),然后使用鼠标中键进行粘贴。
另外,在使用触控板或两键鼠标时:选择后,单击并拖动选择一点;您会看到指针发生变化。现在,当您松开按钮时,所选文本将粘贴到光标处。拖动时按Esc取消。
†当然,Terminal只是众多程序之一。但是对我来说,这只是我真正想要的行为的唯一地方,仅仅是因为Spiff提出了关于能够用剪贴板上的内容替换(鼠标)选定文本的评论。
如果您只需要用于终端的终端,则可以安装iTerm2,该终端是剪切并粘贴了X窗口的终端。
我刚刚尝试了Terminal(OS X El Capitan,版本10.11.5)。我使用的过程是这样的:
免责声明:由于没有Mac,因此我尚未测试过。但是,内容太大,无法发表评论。因此,我将其发布为答案。
我是Windows用户,并且使用为Autohotkey程序编写的脚本在Windows中实现了完全相同的功能。
现在,按照这个问题,IronAHK在Mac上运行AHK脚本。
这是我用于Windows的那个(当然,您必须对其进行很多调整才能使其正常工作):
cos_mousedrag_treshold := 20 ; pixels
#IfWinNotActive ahk_class ConsoleWindowClass
~lButton::
MouseGetPos, cos_mousedrag_x, cos_mousedrag_y
keywait lbutton
mousegetpos, cos_mousedrag_x2, cos_mousedrag_y2
if (abs(cos_mousedrag_x2 - cos_mousedrag_x) > cos_mousedrag_treshold
or abs(cos_mousedrag_y2 - cos_mousedrag_y) > cos_mousedrag_treshold)
{
wingetclass cos_class, A
if (cos_class == "Emacs")
sendinput !w
else
sendinput ^c
}
return
~mbutton::
WinGetClass cos_class, A
if (cos_class == "Emacs")
SendInput ^y
else
SendInput ^v
return
#IfWinNotActive
;; clipx
^mbutton::
sendinput ^+{insert}
return
脚本功劳归于此。如果可以使用,请尝试进行实验并发表评论。我会尽力帮助您。
同时,看看这个为好。但是,我认为它对于您所需的功能不够先进。
我也没有找到本地方法。经过尝试不同的事情后,我最终使用TotalTerminal。
它向终端应用程序添加了一些其他功能。除了选择复制外,您还可以设置全局密钥以在需要时启动终端。
您可以尝试摆弄鼠标设置,以查看驱动程序是否允许您将粘贴功能分配给中键。如果不是,请尝试查看USB Overdrive。
至于“选择复制”,我不知道有任何软件可以提供此功能,并且从我在Google上可以找到的信息来看,可能还不存在。
我没有Mac,因此无法检查该内容,内容太长,无法发表评论,因此我将其发布为答案。也许对其他人会有所帮助。
解决方案1:
转到X11首选项-突出显示“模拟3按钮鼠标”。
现在,中键=选项+单击。
高亮/粘贴将像在Linux中一样工作。
解决方案2:
另一种方法是安装更好的触摸工具,这使您可以将自己的命令分配给不同的鼠标/触摸板手势。
它比高亮=复制多了一步,但仍然比键盘快捷键更可取。
我知道这并不完全相同,但是如果您选择文本并右键单击它,则可以选择复制。粘贴板上有东西后,也可以右键单击。
我愚弄了罗技(Logitech)多按钮巨型鼠标,但无法做出与您所描述的内容完全相同的内容,即使其中一个选项是“单击中键”也是如此。
西奥