使用 tmux 使用单个命令/键进行复制和粘贴

使用 tmux 使用单个命令/键进行复制和粘贴

我真的很喜欢 tmux-copycat 插件,用于在终端缓冲区中选择文件名,但让它变得更好的一件事是能够使用一个命令(最好绑定到一个键)复制和粘贴所选文本。

我不知道任何现有的命令可以做到这一点,所以我想需要一些技巧。关于从哪里开始解决方案有什么建议吗?

答案1

有一对tmux命令可以完成您想要的操作。您需要将它们绑定到新的快捷方式(可能是前缀键命令)。

假设您当前处于复制模式并且选择了一些文本。转到命令行(通常带有前缀 - :)并输入:

send-keys -X copy-selection-and-cancel ; paste-buffer 

这将完全按照它所说的进行:将选择内容放入粘贴缓冲区,取消复制模式,然后将粘贴缓冲区内容粘贴到 shell 命令行(或进入复制模式时所在的任何位置)。

所以现在您可以在 tmux.conf 文件中使用类似的内容将这些命令绑定到您选择的键

bind-key X send-keys -X copy-selection-and-cancel \; paste-buffer 

这和直接运行它的唯一区别是需要转义;.下次您在复制模式下选择某些文本时,按下该绑定键,您就获得了一体化的复制粘贴快捷方式。

您可能需要稍微调整一下。例如,您可以使用-t target-page选项paste-buffer粘贴到当前窗格以外的其他位置。查看tmux手册页中两个命令的文档以获取想法。

相关内容