2014-09-18 130 views
4

所以我們假設我有兩個分支在byobu並排開放。此外,兩個拆分文件在vim中都有不同的文件。我想在一個分割中突出顯示一個文件中的文本,並將其複製到另一個分割中的單獨文件中。有任何想法嗎?如何複製一個拆分並粘貼另一個byobu?

我在搜索時發現的所有結果談到了使用回滾功能來複制和粘貼byobu,但是,似乎只能在單個分割中工作;沒有跨越分裂。

+0

你爲什麼不簡單地在Vim中打開這兩個文件? – romainl 2014-09-19 06:51:38

回答

6

看起來我很快就發佈了;似乎找到了解決辦法。我跟着發現此處的步驟:

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

0

如果你的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軟件包是不錯的選擇。

3

如果您使用的是X Window服務器,另一種基於鼠標的解決方案,使用回溯模式(包括記住了很多按鍵)是:

  1. 放大當前窗格(按住Shift F11),將此窗格置於前臺。
  2. 現在,您可以使用鼠標選擇相關文本而不會發生垂直分割。
  3. 取消縮放窗格(Shift-F11再次)
  4. 切換到其他窗格或您想要粘貼的任何地方。
  5. 中點擊粘貼。