在 tmux / vim 分割之间共享缓冲区

在 tmux / vim 分割之间共享缓冲区
+-------------+
| |
| 1 |
| |
|==============|
| |
| 2 |
| |
+-------------+

每个 tmux split 都会打开 vim。我想做一些事情,比如使用 vim 快捷键从 1 中拉出一行,然后粘贴到 2 中。

答案1

这两个 vim 实例彼此完全独立,但是有两种可能性可以做到这一点。

  1. 如果您的 vim 版本是使用 X 剪贴板支持编译的,您可以使用例如。"+yy将当前行拉入 X 剪贴板寄存器,或者输入默认情况下将拉set clipboard=unnamedvimrc剪贴板。看:help registers有关 vim 寄存器的一些信息。

  2. vim 内置了对分割窗口的支持,因此另一个选择是使用内置的分割而不是使用 tmux 窗口分割。看:help windows或者有关它们的更多信息,请参阅 linux.com 文章。

要检查 X 剪贴板支持,您可以运行并查看输出中vim --version是否有加号。xterm_clipboard如果有一个减号,则意味着您的 vim 是在没有 X 剪贴板支持的情况下构建的,您要么必须获得它的副本,要么使用第二种解决方案。

答案2

确保vim --版本包含+剪贴板。为了获得更自然的复制和粘贴,您可以将以下内容添加到 .vimrc 中。 CTRL+Shift+v 应默认设置为从系统剪贴板粘贴。

set clipboard=unnamedplus
vnoremap <C-c> "+y

使用 tmux,为了更快地在两个窗格之间复制和粘贴,我在此处上传了我的配置:tvp-repl

相关内容