我可以通过在Mac OS X上高亮显示并通过单击鼠标中键进行粘贴吗?


68

在过去的几年中,我一直在使用Linux,我发现通过突出显示文本来复制文本以及单击鼠标中键进行粘贴非常有用。

我现在正在使用Mac,我想知道是否可以在Mac OS X上实现这种行为。


2
我不敢相信OSX不能做到这一点... Linux的
运作

Answers:


18

我写了一个免费的小C程序,它的功能类似于Gilligan的答案。每当您拖动突出显示或双击文本时,它都会复制到剪贴板缓冲区中。然后,您可以在任何窗口中单击鼠标中键将其粘贴。它在Github(https://github.com/lodestone/macpaste)上被称为“ macpaste” 。对于我使用的每个具有文本数据的程序,它都可以全局运行。

在iTerm2中,在“首选项”中禁用其右键单击,否则您将得到两次粘贴。


这太棒了!很近。如果它只有一个单独的缓冲区来将突出显示的文本与正常复制的文本分开保存,则它几乎与Linux接近。干得好
Ryan Martin

这正是我想要的:-)非常感谢您的分享!
何塞·阿尔弗雷多·罗梅罗L.

4
此方法有效,但是很遗憾,它与chrome / firefox / safari / anybrowser中键单击链接混乱了以在新选项卡中打开。有什么办法解决这个问题?
lenooh

不为我编译Undefined symbols for architecture x86_64
Peter Ehrlich

凉!我在下面的.bashrc中添加了它,并且工作正常(xterm仅在我想念它的地方):case“ $(ps -ef | grep macpaste | grep -v” grep“ | wc -l)” in 0)〜 / bin / macpaste / macpaste> / dev / null&;; 1)#一切正常;; *)kill -9 $((pgrep macpaste)〜/ bin / macpaste / macpaste> / dev / null&;; esac唯一一件可悲的事情是我的MM2上没有中间按钮,并且不想设置该第三方内容...谢谢@remik!
Egor,

14

您可以尝试BetterTouchTool。您可以分配自定义触控板,鼠标和键盘事件,以在全局或特定于应用程序的基础上触发特定的操作。

这是将三指点击绑定到的配置⌘V(因为这是全局粘贴快捷方式。或者,您可以从数十种其他触控板和鼠标手势中进行选择,以模拟粘贴命令。

在此处输入图片说明


15
FWIW仅解决了中间点击;我不相信没有其他命令就可以自动复制突出显示的文本。(除了应用特异性提供的特征,比如iTerm2)
adamrmcd

7
到目前为止,有没有人为此提出合理的解决方案?我很想念我的精选轮糊!!!!
鲁本斯2015年

4
太疯狂了,您无法在Windows之间的内置终端中得到这种行为。...啊,我很想念Linux。
DrCord

@Desphilboy您上面的三句话主要是抱怨缺少“选择时复制”功能,您的答案无法解决。
Kyle Strand

仅可以在终端中完成,而我的答案仅针对终端。@KyleStrand
Desphilboy

6

macOS终端可以使用两个单独的缓冲区进行复制/粘贴:

  1. 与所有其他应用程序共享的复制/粘贴缓冲区。可以通过CommandC/ 访问CommandV
  2. 一个单独的复制/过去缓冲区,仅在(macOS)终端之间共享。可以通过鼠标拖动文本,双击或ShiftCommand双击文件名来填充(复制)文件名(否CommandV)。该缓冲区的内容通过鼠标中键ShiftCommandV,或通过Command+两指单击粘贴。

4

创建以下Automator服务: 在此处输入图片说明

给它分配一个击键,例如shiftcontrol](不太可能与任何东西冲突)。然后,使用BetterTouchTool将该击键分配给鼠标中键。

中间的shell脚本来自这个好答案。第一个shell脚本将所选内容复制到剪贴板,中间的脚本在其当前位置单击鼠标,AppleScript发送a V来粘贴剪贴板的内容


1
这允许在单击鼠标中键时进行复制。OP希望通过突出显示突出显示要复制的内容,然后使用鼠标中键粘贴
Ulysse BN18

是否可以通过单击鼠标中键在Chrome中打开新标签页以及使用此功能?
威廉

2

在终端中突出显示文本后,我可以单击鼠标中键将其粘贴回终端,而无需使用复制/粘贴键盘快捷键。当文本来自其他应用程序时,这似乎不起作用。我无法从TextEdit复制文本,然后单击中键将其粘贴到Terminal中。我正在运行Lion,但是我没有进行任何配置以获取此默认行为。我不确定其他版本的OSX。


1

我尝试了Daniel建议的Automator脚本。在OS X 10.10上它对我不起作用。

我能够使BetterTouchTool(v 1.15)单独用于某些应用程序。像这样:

在此处输入图片说明

由于某些原因,我做了两次“左鼠标”。第一个通常只将焦点更改到新窗口,但不定位光标。同样,单击文本框通常会选择所有文本,然后在粘贴一些内容时将其删除。我通常希望保留原始文本。

吉利根


1

我认为一般没有办法,但是有些程序会接受中间按钮作为粘贴

例如

  • Aquamacs-OSX配置的emacs

  • iTerm2-终端的替代品

对于较新的鼠标/轨迹球,单击滚轮可作为第三个按钮


7
滚轮=中间按钮(目前在大多数鼠标上都可以点击)。
installero

0

选择要复制的文本,然后拖放您的选择(红色圆圈中的白色加号将与光标一起显示)。这将复制粘贴文本。

您可以在终端内部或应用之间拖放。


0

我想补充一点,如果问题是,就像我一样,您无法将X-Quartz窗口中突出显示的内容粘贴到剪贴板上,其秘密是突出显示,然后使用XQuartz菜单- >编辑->复制。这样,就可以将其粘贴到每个普通Mac OS应用程序中。


0

在大多数终端中,您可以拖放突出显示的文本,或者可以使用:Shift +⌘+ v

就像在Linux中按鼠标中键(是复制并粘贴在一起)一样

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.