vim与系统粘贴板的互通简单介绍

Posted W0H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vim与系统粘贴板的互通简单介绍相关的知识,希望对你有一定的参考价值。

最近经常遇到这个问题,在这里记录下。

我的环境

  • 系统 Archlinux
  • vim NVIM v0.2.2 / vim 8.0.1297

前提

需要 vim 支持 +clipboard

  • 检查方法 vim --version | grep clipboard
  • 如果你用的是 vim-minimal 不支持,安装 gvim 可解,安装后命令行版也会支持的
  • 至于 nvim, 我也不太清楚, 好像 vim 支持之后它也可以了???

开始

不再详细介绍 vim 的 复制粘贴缓存器系统了,只介绍方法,具体可参考各种详细介绍的博文

  1. 从 vim 复制到系统粘贴板

    • 跟使用普通的 y 命令类似,只需要 "+y 即可将内容复制到系统粘贴板
  2. 从系统粘贴板复制到 vim

    • 法1: 与 p 命令类似,只需要换成 "+p 即可
    • 法2: 首先 vim 输入 命令 :set paste (这样粘贴效果好,不会出现奇怪的缩进), 插入模式下使用终端的粘贴功能
  3. 多个 vim 之间的复制

    • 如果是同一个vim进程的不同buffer, 可以直接 p / y 没有问题
    • 如果是不同的进程,可以像上文提到的那样借助 +寄存器 来完成,也就是 之前的 "+y / "+p

最后说点

简单来说可以按照: <双引号><寄存器名><命令> 来使用不同的 vim 寄存器,查看寄存器的命令是:reg

我这里只是记录下简单做法,对 vim 寄存器的原理感兴趣就去看 vim 的文档还有各种博文吧~

以上是关于vim与系统粘贴板的互通简单介绍的主要内容,如果未能解决你的问题,请参考以下文章

vim在系统剪切板的复制与粘贴

如何使用linux系统vim中的复制,粘贴和删除

如何将 Vim 剪贴板里面的东西粘贴到 Vim 之外的地方

VIM复制粘贴 的快捷键是啥

从零开始配置vim(27)——代码片段

vim 如何与外界粘贴复制