【vim 学习系列文章 4 - vim与系统剪切板之间的交互】


请阅读【嵌入式开发学习必备专栏 之 Vim】


上篇文章:【vim 学习系列文章 3 - vim 选中、删除、复制、修改引号或括号内的内容】
下篇文章:【vim 学习系列文章 5 - vim 中配置 cscope 过滤掉某些目录】

背景

从vim中拷贝些文字去其它地方粘贴,都需要用鼠标选中vim的文字后,Ctrl+c、Ctrl+v,硬生生掐断了纯键盘的流畅感,而且,vim中的块选择很方便,如果只想要拷贝某一个块的数据,鼠标操作就完全没辙了。

1.1.1 vim支持clipboard 检查

确认vim 编辑器是否支持 clipboard 特性:
在这里插入图片描述
支持这特性的检索结果应该包含 +clipboard,而不支持则会是 -clipboard

1.1.2 vim的寄存器

vim会有一些存储空间来暂存内容,vim中将这些存储空间叫寄存器。例如我们在vim中y操作复制的内容,实际就是暂存到寄存器中。怎么查看寄存器内容呢?在vim中执行

:reg

在下图中处于 “name” 那列的都是寄存器的名字,为了要与系统的剪切板交互,我们着重关注寄存器 "*"+
在这里插入图片描述
在 vim 中进入visual 视图后使用 "Ny(N表示特定寄存器编好),将内容复制到特定的剪切板

因此,如果要把数据从vim拷贝到系统剪切板,我们只需要在visual模式下执行:

"+y

双引号 + 加号寄存器 + y。通过这命令copy后就可以去其它地方Ctrl+v 或者执行Shift+Insert命令也可以将从vim 复制的内容进行黏贴。


如果从其它地方 Ctrl+c 后,要粘贴到 vim中,则需要:

"+p

"*"+有什么差别呢?

"* 是在系统剪切板中表示选择的内容
"+ 是在系统剪切板中表示选择后Ctrl+c复制的内容

1.1.3 使用快捷键#

"+y"+p的输入挺麻烦的,直接为他们创建个快捷键

" 支持在Visual模式下,通过C-y复制到系统剪切板

vnoremap <C-y> "+y

" 支持在normal模式下,通过C-p粘贴系统剪切板

nnoremap <C-p> "*p

将上面的内容copy到~/.vimrc中即可生效,效果就是:

在 vim 的 visual 模式下选中了要复制的内容,再用Ctrl + y复制到系统剪切板,直接去其他窗口中Ctrl + v粘贴
在其他窗口中选择之后(不一定要Ctrl + c),可直接在 vim 中用Ctrl + p来粘贴

上篇文章:【vim 学习系列文章 3 - vim 选中、删除、复制、修改引号或括号内的内容】
下篇文章:【vim 学习系列文章 5 - vim 中配置 cscope 过滤掉某些目录】

推荐阅读https://www.cnblogs.com/gmpy/p/11177719.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公CodingCos

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值