通过共享文本文件使 vim yankings 全局化

通过共享文本文件使 vim yankings 全局化

简而言之,我想要以下内容:

  • y(ank) 实际上将复制的文本写入文本文件中的一行,可能在你的 .vim 目录中
  • 该行以寄存器的名称为前缀,因此"qyy产生q>my line of text
  • p(ut) 从该文件获取预期结果

原因是获得更多的“系统范围” vim 缓冲区来解决这个问题:
共享 Vim Yank 注册

答案1

我也有同样的问题。我找到了以下简单的解决方案:

编辑 .vimrc 文件。添加以下行

map <C-y> <Esc>:'<,'>! cat \| tee ~/tmp/.myvimbuf<CR>

map <C-p> o<Esc>:.!cat ~/tmp/.myvimbuf<CR>

map <C-P> O<Esc>:.!cat ~/tmp/.myvimbuf<CR>

并确保目录 ~/tmp 就位。

打开两个 vim 实例。如果您现在在一个实例中突出显示一段文本并按 CTRL+y,然后在另一个实例中按 CTRL+p 或 CTRL+SHIFT+p,您应该会得到想要的结果。

显然,您可以根据自己的喜好修改组合键。

这需要cat并且tee;它应该在任何 Mac/Linux 机器上运行。

答案2

你真正需要的只是使用 viminfo 功能。将类似以下内容放入你的 ~/.vimrc 文件中。

set viminfo='20,\"90,h,%

然后,黄油、标记等将自动在会话之间保留。:help viminfo有关更多信息,请参阅。

相关内容