1、vim常用复制粘贴命令

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

PS:

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

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

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

yy   复制一行
dd 删除一行

所以,

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

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

gp,和p的功能基本一致,只是粘贴完,它会把光标移动至粘贴内容之后;gP同理

:pu[t] ,注意,这个是在命令界面输入的pu/put,它的意思是把x寄存器的内容粘贴到下一行

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

寄存器简介

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

: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):"/,缓存最近的搜索模式。

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

基本操作

聊聊寄存器的基本操作把

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

:reg

寄存器的使用方法也很简单:通过“ 加上 寄存器名,就可以访问特定的寄存器:

"ap      粘贴字母a寄存器内容
"1y 把选取内容复制到数字寄存器1

系统剪贴板

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

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

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

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

vim ~/.vimrc

然后在其中输入:

nmap <c-v> "+gp
nmap <c-c> "+y

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

所以,我一般修改成:

nmap <leader>v "+gp
nmap <leader>c "+y

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

let mapleader=","

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

【vim小小记】vim的复制粘贴(包括系统剪贴板)的更多相关文章

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

    1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只 ...

  2. Vim 安装、配置及复制粘贴操作

    1.安装:sudo apt-get install vim 2.配置:cd ~ #进入用户主目录 touch .vimrc #.后缀文件不可见 vi .vimrc #打开文件 输入: set cind ...

  3. VIM 选择多行,复制粘贴

    进入VIM,比如编辑一个文件, 1.进行选择,是V模式,按V键,进入该模式,然后选择要复制的行 2. 选择好之后,再按y键,即使复制到了 3.然后光标进入要复制的行之后,按一下P键,就粘贴了,oh y ...

  4. Ditto - Windows剪贴板增强小工具,方便复制粘贴多条记录

    在平时的工作中,好多地方需要重复的复制粘帖一些重复性的代码,频繁的Ctrl+C.Ctrl+V导致效率很低,而且时间长了会很烦,Windows自带的剪切板功能一次只能进行一条记录操作,单一的不行,与提高 ...

  5. Jq将字符串复制粘贴到剪贴板

      第一种: 自己测试时 只适合于input 和textarea 但是针对于其他标签的复制就不能用了.代码如下: <!DOCTYPE html> <html> <head ...

  6. VIM系统复制粘贴

    1 需求 系统复制粘贴主要是满足下面两个需求. 在多个对象之间复制粘贴 vim窗口与vim窗口之间 外部界面与vim窗口之间 不变复制粘贴.从外部界面复制粘贴到vim窗口时,文本不发生任何变化. 2 ...

  7. vim寄存器与复制粘贴的实现

    对于大多数在Ubuntu下使用vim作为常用编辑器的同学来讲,他们遇到的第一个比较大的麻烦来自于vim与外部应用的复制粘贴. 当然,愿意选择ubuntu以及vim的同学肯定是google好手.不幸的是 ...

  8. Linux centosVMware Vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、vim一般模式下复制、剪切和粘贴

    一.Vim介绍 vim 是一款功能强大的文本编辑器,是vi的升级版,带有颜色显示, 默认有三种模式:一般模式, 命令模式,  编辑模式   安装Vim [root@davery ~]# vim /et ...

  9. VIM如何将全部内容复制并粘贴到外部

    ubuntu默认安装的vim是不支持系统剪切.粘贴版的,需要执行以下安装:sudo apt-get install vim-gnome 注意要让vim支持系统粘贴板,首先执行sudo apt-get ...

随机推荐

  1. [转载]XML非法字符的处理

    https://blog.csdn.net/qq_36330228/article/details/84779390 static void Main(string[] args) { string ...

  2. win7虚拟机安装

    https://blog.csdn.net/qq_16503045/article/details/81904986 iso下载地址 https://msdn.itellyou.cn/

  3. Linux 系统管理——磁盘管理及文件系统实例

    1.为主机新增两块30GB的SCSI硬盘 2.划分3个主分区,各5GB,剩余空间作为扩展分区 3.在扩展分区中建立2个逻辑分区,容量分别为2GB.10GB 4.将第一个逻辑分区的类型改为swap 5. ...

  4. vue-cli使用笔记

    安装nodejs 安装vue-clinpm install -g vue-cli 使用vue-cli初始化项目vue init webpack my-project 进到目录cd my-project ...

  5. 微信小程序组件化开发框架WePY

    wepy-CLI 安装 npm install -g wepy-cli wepy init standard my-project https://github.com/Tencent/wepy 特性 ...

  6. @submit.native.prevent作用

    <el-form :inline="true" :model="geCarManageData" class="demo-form-inline ...

  7. Shell脚本实现对文件编辑

    常见Linux文件的编辑命令 vi/vim,有时候我们想写一个脚本实现对文件编辑,这个时候,可能就不够用了,下面介绍一些办法 1.echo命令 Shell的echo命令常用于字符串的输出 例如: [r ...

  8. 【2019.11.06】SDN上机第2次作业

    参考资料网址:https://www.cnblogs.com/TITIN24/p/11794970.html 利用mininet创建如下拓扑 要求拓扑支持OpenFlow 1.3协议,主机名.交换机名 ...

  9. MacBook Air在macOS Mojave和macOS Seirra系统下使用Loopback在OBS Studio推流时输出系统软件声音

    转载请标注原地址:https://www.cnblogs.com/lixiaojing/p/11440533.html 运行环境: Loopback破解版获取: https://pan.baidu.c ...

  10. ·分布式文件系统HDFS 练习

    作业要求来源于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3292 1.目录操作 在HDFS中为hadoop用户创建一个用户目录( ...