Pat*_*ity 5 mouse clipboard copy-paste tmux macos
我copy-pipe在 OS X 上使用 Tmux 1.8 共享系统剪贴板:
unbind -t vi-copy Enter
bind -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
Run Code Online (Sandbox Code Playgroud)
这在进入选择模式和复制文本(选择文本,然后点击Enter)时有效,但在用鼠标选择文本时无效。是否可以设置一个在鼠标选择后运行的命令,就像copy-pipe点击后运行一样Enter?即我需要reattach-to-user-namespace pbcopy在选择时运行。
对于 tmux 2.2 及更高版本,请使用:
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "pbcopy"
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "pbcopy"
Run Code Online (Sandbox Code Playgroud)
没有内置方法可以自定义 \xe2\x80\x9cmouse up\xe2\x80\x9d 行为来结束由鼠标启动的选择。详细内容请参见in的标签(链接为reset_modetmux 1.8的源码) ;具体来说,这段代码中没有引用窗口、会话或服务器选项。window_copy_mouse()window-copy.c
有一个解决方法,但它可能有点边缘情况:
\n\ncopy-pipe在释放鼠标按钮之前激活您的绑定(例如按 Enter)。copy-pipe)。但有一个小的副作用:
\n\ninput_mouse()在开始新的复制模式之前不检查鼠标事件是 \xe2\x80\x9cbutton up\xe2\x80\x9d 事件);但是,它基本上是无害的(除了必须退出第二个复制模式实例的不便之外)。