背景

背景

背景

我特别喜欢 tmux 和复制模式,但通常我想复制一些可能是我的历史记录的东西,或者我只是滚动浏览我的历史记录,即使在复制后也想继续滚动到我上次停下来的地方。

问题

有没有办法在不退出复制模式的情况下猛拉选择?

其他问题

我的问题与另一个未回答的问题类似,但该问题是针对屏幕的,而不是针对 tmux 的:GNU 屏幕多次追加缓冲区而不退出复制模式

答案1

AFAIK,既没有tmuxscreen没有任何办法做到这一点。 Yank 会替换当前缓冲区,但不会追加到其中。

如果您在桌面环境中的终端模拟器中运行tmux(或在 Linux 控制台上使用加仑/分钟对于鼠标剪切/复制/粘贴),执行与您想要的类似操作的最简单方法是vim在另一个终端中运行 或其他编辑器,然后使用鼠标将文本复制粘贴到编辑器的缓冲区中。我就是做这个的。

或者,将整个缓冲区保存到文件中,然后使用vim或其他方法编辑文件以删除您不想保留的所有内容。

还有一个tmux插件叫tmux 复制它使用xsel(或xclip, 或wl-copy) 将您复制的任何内容复制到系统剪贴板。将其修改为使用xsel -a -i而不仅仅是xsel -i.可能很简单。我不知道如何,我从未使用过tmux-yank,我只是通过搜索才发现它https://duckduckgo.com/?q=tmux+yank&ia=web

答案2

这就是我保持复制模式打开的方法

    set-window-option -g mode-keys vi
    bind-key -T copy-mode-vi v send -X begin-selection
    bind-key -T copy-mode-vi V send -X select-line
-   bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
+   bind-key -T copy-mode-vi y send -X copy-pipe 'xclip -in -selection clipboard'

我使用了 tmux vim 配置 这里,并将上面的行从 copy-pipe-and-cancel 更改为 copy-pipe

相关内容