如何复制一个拆分并粘贴另一个byobu?

问题描述:

所以我们假设我有两个分支在byobu并排开放。此外,两个拆分文件在vim中都有不同的文件。我想在一个分割中突出显示一个文件中的文本,并将其复制到另一个分割中的单独文件中。有任何想法吗?如何复制一个拆分并粘贴另一个byobu?

我在搜索时发现的所有结果谈到了使用回滚功能来复制和粘贴byobu,但是,似乎只能在单个分割中工作;没有跨越分裂。

+0

你为什么不简单地在Vim中打开这两个文件? – romainl 2014-09-19 06:51:38

看起来我很快就发布了;似乎找到了解决办法。我跟着发现此处的步骤:

http://linuxcommand.org/lc3_adv_termmux.php

我遵循的步骤:

shift-f3 - 移动拆分从

alt-pgup复制 - 进入副本模式

space - 启动选择

游标通过期望文字

enter - 最终选择

shift-f3 - 转移重心分裂复制到

确保接收VIM是插入模式

alt-insert - 粘贴选定的文本

+0

我只使用了tmux和屏幕没有byobu,所以也许我错过了一些东西,但我猜这个过程的粘贴部分可能会对Vim造成严重破坏,如果你不小心。具体来说,您需要确保接收Vim处于插入模式;你可能会想事先做':设置粘贴'和事后设置':nopaste',这样你的缩进就不会搞砸了。看到我的答案更好的方法。 – echristopherson 2014-09-19 18:58:43

+0

接收的Vim必须处于插入模式才是正确的。感谢您指出,我会将其添加到答案。 – 2014-09-19 22:35:22

如果你的Vim支持系统剪贴板(即如果vim --version输出显示为+clipboard),则可以从第一个Vim复制到系统剪贴板并从第二个粘贴到第二个Vim。这使我们相信需要确保接收Vim处于插入模式,并且已经适当设置了paste

诀窍是使用"+寄存器。所以当你做这个副本时,在"+前加上你想要使用的任何命令;并且同样在接收Vim中使用put命令的前缀。

如果您使用的是X11系统,您也可以使用"*寄存器,它是X的“PRIMARY”选择缓冲区,如果您只突出显示文本,您可以通过按下中间按钮。

参见:help gui-selections。 GUI选择支持通常需要一个Vim,而不是“vim-tiny”;在Debian和Ubuntu上,vim-gtk和vim-gnome软件包是不错的选择。

如果您使用的是X Window服务器,另一种基于鼠标的解决方案,使用回溯模式(包括记住了很多按键)是:

  1. 放大当前窗格(按住Shift F11),将此窗格置于前台。
  2. 现在,您可以使用鼠标选择相关文本而不会发生垂直分割。
  3. 取消缩放窗格(Shift-F11再次)
  4. 切换到其他窗格或您想要粘贴的任何地方。
  5. 中点击粘贴。