vim复制粘贴(从系统粘贴到vim中,以及从vim中粘贴到系统中)

vim与系统剪切板(将vim的内容复制到系统剪切板、或将系统剪切板内容复制到vim中)

vim插件检查

要完成vim中的内容复制到系统剪切板,需要vim支持 +clipboard,检查的方法(ubuntu16.04为例):

  • 打开terminal(ctl+alt+t)
  • 输入 vim --version | grep clipboard

你会得到这样的结果
在这里插入图片描述查看clipboard和xterm_clipboard前面的符号

  • 加号(+),表示支持
  • 减号(-),表示不支持

可以看到现在的vim是不支持的,意思是不支持从vim中复制到系统剪切板中,所以网上就可以解释为什么你也是同样的操作,但是就是不能把vim中的内容复制出来了。

怎么可以让他支持呢,就需要安装一些插件来解决一下,其实也很简单就是下面的这一条命令

sudo apt-get install vim vim-scripts vim-gtk vim-gnome

安装完成以后,同样的在终端中输入 vim --version | grep clipboard
在这里插入图片描述
可以看到clipboard和xterm_clipboard前面减号变成了加号。现在就可以把vim中的内容复制到系统剪切板中了,具体怎么操作,请您继续向下看。

vim复制到系统剪切板

在vim同一个文件下操作,复制使用的是 nyy,粘贴使用的是 p(在vim中有很多的寄存器,这样操作是把内容复制到无名寄存器(unnamed register): "",其他的寄存在vim命令行模式下输入 :help registers 命令可以查看)

vim系统剪切板:

  • "+y复制到系统剪切板中(解释一下:这里的+号不是表示"和y同时按下,按键的顺序应该是 shift '、 shift =、 y)
  • "+p把系统粘贴板里的内容粘贴到vim(解释一下:这里的+号不是表示"和p同时按下,按键的顺序应该是 shift '、 shift =、 p)

上面是快捷键的操作要怎么用呢,在vim正常模式下,按下 v 进入Visual模式,选取要复制的内容,然后按下 "+y,就复制到了系统剪切板中。如果粘贴到其他的打开的vim中就按下"+p,或者粘贴到其他文件或者网页中直接 ctrl + v
如果查看使用上面的命名复制是否成功呢?使用命令 :reg,会出现下面的界面,如果复制成功,"+ 后面的内容就是刚刚复制的,如果和你刚刚操作选中的内容一致,表示成功了(这里我选中的是 test,所以内容是test)
在这里插入图片描述

系统剪切板复制到vim中

将系统剪切板中的内容复制到可以采用两种方式

  • 第一种,就是采用上面解释介绍的命令 "+p
  • 第二中,如果在其他的界面中已经复制了,在vim中使用组合键 shift insert就可以直接把系统剪切板中的内容复制到vim中;如果是在终端(terminal)下,可以使用 ctrl insert复制选中的内容,然后再使用 shift insert或者 "+p都可以插入到vim中

欢迎大家关注我的个人公众号,同样的也是和该博客账号一样,专注分享技术问题,我们一起学习进步
在这里插入图片描述

在 Mac 上的 Vim 编辑器中进行复制和粘贴操作,需要理解 Vim 的寄存器机制,尤其是与系统剪贴板的交互方式。Vim 通过寄存器来管理复制和粘贴的内容,其中 `+` 寄存器与系统剪贴板直接关联,可以实现 Vim 与外部程序之间的数据交换[^1]。 ### 基本操作 #### 复制内容到系统剪贴板 在 Vim 中复制内容到系统剪贴板,可以通过将选中的内容放入 `+` 寄存器来实现。以下是一些常见的操作: - 在可视模式下选择内容后,使用 `"+y` 命令将选中的内容复制到系统剪贴板中。 - 如果在普通模式下,可以使用 `"+yy` 命令将当前行复制到系统剪贴板中。 ```vim "+yy ``` #### 从系统剪贴板粘贴内容 在 Vim粘贴系统剪贴板中的内容,可以直接使用 `"+p` 命令。该命令会将剪贴板中的内容粘贴到当前光标所在的位置。 ```vim "+p ``` ### 高级操作 #### 使用寄存器 Vim 提供了多种寄存器来存储不同的内容。`+` 寄存器是与系统剪贴板直接关联的寄存器,而 `*` 寄存器则与 X Window 系统的选择缓冲区相关。在 Mac 上,通常使用 `+` 寄存器进行系统剪贴板的操作。 - 使用 `:registers` 命令可以查看所有可用的寄存器及其内容。 - 使用 `:reg +` 命令可以查看 `+` 寄存器中的内容。 #### 配置文件优化 为了提升 Vim 的使用体验,可以在 `~/.vimrc` 文件中添加一些配置,以启用语法高亮、设置行号和自动缩进等功能[^2]。 ```vim " 设置行号 set number " 启用语法高亮 syntax on " 设置自动缩进 set autoindent set smartindent ``` 这些配置可以提高代码编辑的可读性和效率。 ### 注意事项 - 在使用 `"+y` 和 `"+p` 命令时,需要确保 Vim 支持 X Window 系统的剪贴板功能。通常情况下,Mac 上的 Vim 是支持的,但如果遇到问题,可以尝试使用 `pbcopy` 和 `pbpaste` 命令进行替代。 - 在可视模式下复制内容时,可以选择整行或多行内容进行复制。 - 在粘贴内容时,需要注意当前光标的位置,以确保内容粘贴到正确的位置。 ### 相关问题 1. 如何在 Vim 中使用 `pbcopy` 和 `pbpaste` 命令进行复制和粘贴操作? 2. 如何在 Vim 中使用其他寄存器进行复制和粘贴操作? 3. 如何在 Vim 中配置快捷键以简化复制和粘贴操作? 4. 如何在 Vim 中实现跨文件复制和粘贴操作? 5. 如何在 Vim 中查看所有可用寄存器及其内容?
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值