【vim小记】vim的复制粘贴(包括系统剪贴板)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

转自 http://blog.csdn.net/hk2291976/article/details/42196559

1、vim常用复制粘贴命令


Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P


PS:

vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如:

  1. w 跳转到下个word,W:跳转到上个word  
  2. f  某行正向查找并跳转    F: 反向....  

然后部分双写的字母有行操作:

  1. yy   复制一行  
  2. dd   删除一行  

所以,

  1. p就是在当前光标后粘贴,P就是在当前光标前粘贴  


另外,说完p,其实还有几个命令有时也是很有用的

  1. gp,和p的功能基本一致,只是粘贴完,它会把光标移动至粘贴内容之后;gP同理  
  2.   
  3. :pu[t] ,注意,这个是在命令界面输入的pu/put,它的意思是把x寄存器的内容粘贴到下一行  


2、vim的寄存器和系统剪贴板

寄存器简介

vim强大之处之一就是它自带一堆寄存器,每个寄存器独立使用,你可以在不同寄存器中存储不同数据,命令,你可以把这个想象成一个加强版的剪贴板,当然它的功能不止剪贴板这么简单。如果你想看vim的官方文档有关部分:

  1. :help  registers  


根据官方手册:vim有9种寄存器

There are nine types of registers:                      registers E354
1. The unnamed register ""
2. 10 numbered registers "0 to "9
3. The small delete register "-
4. 26 named registers "a to "z or "A to "Z
5. four read-only registers ":, "., "% and "#
6. the expression register "=
7. The selection and drop registers "*, "+ and "~
8. The black hole register "_
9. Last search pattern register "/


1.无名(unnamed)寄存器:"",缓存最后一次操作内容;

2.数字(numbered)寄存器:"0 ~"9,缓存最近操作内容,复制与删除有别, "0寄存器缓存最近一次复制的内容,"1-"9缓存最近9次删除内容

3.行内删除(small delete)寄存器:"-,缓存行内删除内容;

4.具名(named)寄存器:"a ~ "z或"A - "0Z,指定时可用;

5.只读(read-only)寄存器:":,".,"%,"#,分别缓存最近命令、最近插入文本、当前文件名、当前交替文件名;

6.表达式(expression)寄存器:"=,只读,用于执行表达式命令;

7.选择及拖拽(selection and drop)寄存器:"*,"+,"~,存取GUI选择文本,可用于与外部应用交互,使用前提为系统剪切板(clipboard)可用;

8.黑洞(black hole)寄存器:"_,不缓存操作内容(干净删除);

9.模式寄存器(last search pattern):"/,缓存最近的搜索模式。

至于每个寄存器更加具体的使用方法,我希望大家能查询手册,毕竟,这篇文章重点不在寄存器,可能哪天会写一篇小记讲讲寄存器吧


基本操作

聊聊寄存器的基本操作把

现在输入命令,你就可以查询一下目前寄存器的情况

  1. :reg  

寄存器的使用方法也很简单:通过“ 加上 寄存器名,就可以访问特定的寄存器:
  1. "ap      粘贴字母a寄存器内容  
  2. "1y      把选取内容复制到数字寄存器1  


系统剪贴板

细心的人已经发现我重点标注的寄存器部分了,就是那个选择及拖拽寄存器,这就是系统的剪贴板,我们通常使用的ctrl+c  ctrl+v 的内容就保存在这个寄存器中,所以你要把需要复制的内容放在+寄存器中,就可以在gui界面中用粘贴或ctrl+v粘贴了,同理,粘贴在vim中也一样

  1. "+y    复制到系统剪贴板  
  2. "+p    粘贴  
  3. "+gp  粘贴并且移动光标到粘贴内容后  


但是光是输入命令"+p就已经让人觉得很麻烦了,这时候,vim的map功能就又可以大显神通了,我们只需要把“+y  和 ”+gp  map到你喜欢的快捷键上即可:

首先打开vimrc(如果没有,请创建一个)

  1. vim ~/.vimrc  

然后在其中输入:
  1. nmap <c-v> "+gp  
  2. nmap <c-c> "+y  

你现在就可以使用ctrl+c  和ctrl+v 了, 但是!我本人是不推荐用这个快捷键的,因为本身<c-v>是我很常用的块命令

所以,我一般修改成:

  1. nmap <leader>v "+gp  
  2. nmap <leader>c "+y  

至于<leader>是什么按键,就可以按照你的喜好来拉,我的是','

  1. let mapleader=","  


ps.说一下,我用的是nmap,说明这个命令只有在normal情况下才生效,在insert模式下是不生效的,为什么要这样设置呢?因为有时候你确实需要输入<leader>c/v的内容,比如,c  ,v ,而且,vim主要操作我觉得还是应该在normal模式下,这才是vim的高效的原因。


vim 学习系列文章 4 - vim系统剪切板之间的交互】 vim中拷贝些文字去其它地方粘贴,都需要用鼠标选中vim的文字后,Ctrl+c、Ctrl+v,硬生生掐断了纯键盘的流畅感,而且,vim中的块选择很方便,如果只想要拷贝某一个块的数据,鼠标操作就完全没辙了。vim会有一些存储空间来暂存内容,vim中将这些存储空间叫寄存器。例如我们在vim中y操作复制的内容,实际就是暂存到寄存器中。怎么查看寄存器内容呢?在下图中处于 “name” 那列的都是寄存器的名字,为了要与系统的剪切板交互,我们着重关注寄存器。是在系统剪切板中表示选择后Ctrl+c复制的内容。 阅读详情

相关推荐

Vim常规操作——复制_粘贴_剪切(深入Vim寄存器)

Vim常规操作——复制_粘贴_剪切(深入Vim寄存器) 1. 阅读这篇文章我能学到什么? 你可能想知道其他软件与vim之间,vim与其命令行之间如何进行复制、粘贴、剪切问题,那么就请阅读这篇文章。这篇文章将从Vim寄存器的作用角度解答你使用vim过程中进行复制、粘贴、剪切如何操作的问题,将会非常详细。 ——如果您觉得这是一篇不错的博文,希望您能给一个小小的赞,感谢您的支持。 目录Vim常规操作——...

大娱乐家 7958

vim 复制粘贴

VIM编辑器 1.复制和粘贴整行 我们都知道复制的快捷键是“nyy”,粘贴的快捷键是“p”。 Tips 1.“yy” 是复制光标所在行,“nyy”是复制包括光标所在行以及向下的“n-1”行**,一共n行。 2. “p”是将已经复制的数据,粘贴在光标所在行的下一行。“P”为粘贴在光标所在行的上一行。 2.粘贴和复制一个单词 当我们想粘贴一行数据中的某些单词时有一些快捷键 如下: yw 复制一个单词 (包括单词后面的空白字符) 4yl 复制当前光标下的字符、以及后面三个字符,总共四个字符 4yh 复制光标前面

记录和分享学习和工作过程中的个人总结 5万+

Vim:在系统剪贴板中复制和粘贴文本

Vim 是一款强大的文本编辑器,广泛用于程序员和系统管理员之间。在使用 Vim 过程中,掌握在系统剪贴板中复制和粘贴文本的技巧是非常重要的。Vim 有不同的模式,包括普通模式、插入模式和可视模式。了解这些模式对于在编辑器中执行不同的操作至关重要。默认的模式,用于导航和执行命令。在普通模式下,按键输入会被解释为命令。允许用户直接输入文本。从普通模式切换到插入模式可以通过按下i键实现。用于选择文本。在可视模式下,用户可以通过移动光标选择文本块,然后执行相应的操作。Vim 使用命令和操作符来执行各种编辑任务。

网络技术联盟站 5804

vim实用命令&快捷键

【代码】vim复制与粘贴。

计算机知识技术 4533

vim小记vim复制粘贴(包括系统剪贴板)

很多人对vim复制粘贴很费解,没有了ctrl+c ctrl+v 感觉让vim变得十分的麻烦,其实,vim本身对系统剪贴板都是支持的,只是很多人没有发现罢了

Voidsky 6万+

转:【vim小记vim复制粘贴(包括系统剪贴板)

1、vim常用复制粘贴命令 Vim复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如: w 跳转到下个word,W:跳转到上个word f 某行正向查找并跳转 F: 反向… 然后部分双写的字母有行操作: yy 复制一行 dd 删除一行 所以, p就是在...

招财进宝 525

vim复制粘贴(包括系统剪贴板)

1、vim常用复制粘贴命令 Vim复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如: w 跳转到下个word,W:跳转到上个word f 某行正向查找并跳转 F: 反向… 然后部分双写的字母有行操作: yy 复制一行 dd 删除一行 所以, p就是在...

querquer_的博客 285

vim系统剪切板

原文地址 1、vim常用复制粘贴命令 Vim复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如: [plain] view plaincopy w 跳转到下个word,W:跳转到上个word  f  某行正向查找

Yan456jie的专栏 783

vim 寄存器 vim粘贴与系统粘贴

1、vim常用复制粘贴命令 Vim复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如: [plain] view plain copy w 跳转到下个word,W:跳转到上个word  

颇锐克(公众号:颇锐克科技共享) 1107

vim 的粘贴板

1、vim常用复制粘贴命令   Vim复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只是方向不同,比如: [plain] view plain copy w 跳转到下个word,W:跳转到上个word   f  某行正向查找并跳转    F: 反向...

kangzye 253

vim常用命令学习(持续更新)

开发工具 在vim 中快速复制粘贴多行 将光标移动到要复制的文本开始的地方,按 v 进入可视模式。 将光标移动到要复制的文本的结束的地方,按y复制。 此时vim会自动将光标定位到选中文本的开始的地方,并退出可视模式。 我移动光标到文本结束的地方,按 p 粘贴。 dd 删除 u 撤回 i 输入 ...

Kanny 288

VIM系统剪贴板复制粘贴

要想使vim系统剪贴板互通需要+clipboard的支持,要想vim像windows下的复制粘贴那样易用,需要自行添加按键映射。因此仅需2步:开启clipboard和添加按键映射。

uxlike的博客 3万+

Vim 复制/剪切/粘贴命令完整学习笔记

Vim复制粘贴系统比传统编辑器更强大,关键在于理解寄存器概念和动作组合。熟练掌握后,文本编辑效率将大幅提升!:y = yank(拉取、复制),所有 delete 命令的 d 都可以替换为 y 进行复制。Vim 的复制、剪切、粘贴操作基于强大的寄存器系统,与传统编辑器的剪贴板概念有所不同。

面朝大海 7132

vim中进行复制粘贴

vim中的复制粘贴

一名混沌的大学生 3802

vim编辑器相关操作

vim编译器相关操作

雪绒~ 5113

Vimpaste 模式

Vimpaste 模式

tangsiqi130的博客 2810
上一篇: 接口和抽象类有什么区别
下一篇: Windows下搭建IOS开发环境(一)
ancyscat
博客等级 码龄15年 4粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值