vim拷贝粘贴总结(p、Shift+Insert、Shift+Ctrl+v)

 我来答
黑科技1718
2022-07-05 · TA获得超过5795个赞
知道小有建树答主
回答量:433
采纳率:97%
帮助的人:78.7万
展开全部

[toc]

vim寄存器是在使用 y 、 y? 拷贝时,内容的存放位置

在vim普通模式下输入 :reg 查看当前vim寄存器列表

"" 代表最近一次拷贝内容
"- 代表次最近一次拷贝内容,等于【"1】
"0 代表最近一次(第0次)拷贝内容
"数字 代表前几次拷贝内容
". 代表最近输入的内容
"% 代表当前编辑的文件
"/ 代表
"* 代表系统选择缓冲区(xclip -out) --- 一般没装vim-gnome,所以在vim中用不了
"+ 代表系统剪贴板(xclip -out -sel clipboard) --- 一般没装vim-gnome,所以在vim中用不了
若vim寄存器列表里无【”*】或【“+】寄存器,则可能是由于没有安装vim的图形界面所致。Debian/Ubuntu下可以通过安装 vim-gnome 解决。

p 粘贴最后一次拷贝的内容
"-p 粘贴次最后一次拷贝的内容
"3p 粘贴第3次拷贝的内容
".p 粘贴最近输入的内容
......
"*p 粘贴 选择缓冲区 内容,一般没装vim-gnome,所以在vim中用不了,但是可以在插入模式下使用 Shift+Insert 粘贴
"+p 粘贴 剪贴板 内容,一般没装vim-gnome,所以在vim中用不了,但是可以在插入模式下使用 Shift+Ctrl+v 或鼠标右键粘贴

Vim中,若要复制当前行,普通模式下按 yy 即可,在要粘贴的地方按 p 。这是vim将复制内容保存到了自己的寄存器中的缘故。如果在其他地方执行yy,新的内容将覆盖掉原寄存器中内容。如果想保存原寄存器中内容而同时增加新的内容呢?这时就要在yy前增加标签了。标签以双引号开始,跟着的是标签名称,可以是数字0-9,也可以是26个字母,然后就是复制操作,这样就把复制内容保存到该标签寄存器里。

以下验证有问题

:set mouse=a 在普通模式下可以直接使用鼠标选择区域复制到选择缓冲区。但这种情况下不能复制到剪切板。( 有些应用程序的 Shift+Insert 调用的是剪贴板,并不是选择缓冲区 ,所以还得要使用mouse=v方式)

:set mouse=v 除了可以像上面一样直接使用鼠标选择区域复制到选择缓冲区以外,还可以在右键菜单中选择“复制”来保存到剪切板里。
另:mouse=v方式可能造成新问题,如果vim显示行号,选择时行号也会一并选择,如果不需要行号的话,在复制前需要先执行set nonu来取消行号显示。

解决vim中鼠标右键无法复制的问题: https://www.cnblogs.com/pengdonglin137/p/3485062.html

待完成

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式