本文转自:http://blog.csdn.net/zhengxinjian_2009/article/details/7846407

在vi编辑器有一个寄存器的概念(concept of register),正是这个概念使我们可以进行多次的剪切和粘贴操作。在一般的编辑器中我们被限制只有一个剪切板可用,而在vi中最多时可以有26个剪切板供使用,这样就会大大的提高工作的效率。

在vi中,我们可以使用d或x来删除文本,但是经过这样操作所删除掉的文本并没有被vi所丢弃,而是被保存起来。我们可以使用p命令来粘贴刚刚所删掉的内容。下面来看看他是如何工作的。首先在vi中随意的输入几行,然后移动到其中的一行,用dd命令来删掉一行。如何叫他再回来?我们可以将光标移到任意的地方,然后用p命令,就会看到刚才被删除掉的内容又回来了。

使用x命令删除的东西也可以粘贴回来。所不同的是,用dd删除一行再用p命令时是在当前光标的下一行粘贴,而删除一个单词再用p命令来粘贴时是在当前光标处粘贴。有了这样的命令,我们就可以来处理输入错误的单词了。例如我们不小心将the输入成了teh,这时可以将光标移到e的位置,用x命令删掉,再用p命令粘贴回来,这时就会发现输入正是我们想要的了。

p命令可以在一个文件中使用几次,每一次都可以将刚删除的内容重新粘贴在所希望的地方。当然这个命令也可以使用数字做前缀,明确的指出所要执行的次数。

当我们插入文本行时,可以使用p命令或是P命令。所不同的是,p命令是在当前行的下一行进行插入,插入后光标移动到新行的开头处。而P命令是在当前的上一行进行插入,插入后光标移到新行的下一行的开头处。我们还可以使用gp或gP命令。不同的是,gp命令是将光标移动到新行的下一行的开头处。而gP是在当前的上一行进行插入,插入后光标移动新行的下一行的开头处。

在vi中y命令也可以进行复制操作。yw命令可以复制一个单词。yy命令可以复制一行,然后我们可以用p命令来粘贴。我们也可以使用Y命令来复制一行,或是用数字做前缀来明确的指明复制几行,然后用p命令粘贴到我们所希望的地方。y$命令可以复制从当前光标到本行结尾的所有字符。

使用标记

在使用vi进行编辑时,我们可以对某一行进行标记。将光标移到某一行,用命令ma来进行标记。在这里m是标记的命令,a是对这一行所做标记的名称,当然也可以使用26个字母中的任意一个做为标记名称。

在做了标记以后,我们可以用'a命令快速移到刚才所做标记的那一行的行首。这里'是单引号。也可以使用`a来移到所做标记时的光标所在位置,这里`是反引号(也就是数字键1左边的那一个)。

我们可以用:marks命令列出所有的标记。这其中也包括一些特别的标记(Special marks)。

'    跳转前的光标位置
"      最后编辑的光标位置
[       上一次修改的开始处
]       上一次修改的结尾处

如果我们将做了标记的那一行删除,那么所做的标记也就不存了。我们用标记不仅可以快速的移到做了标记的行,而且还可以用标记来删除掉一行,例如在某一行用ma做了标记,然后就可以用d'a来删掉这一行。我们也可用y'a命令就可以来复制这一行了。

复制粘贴命令小结

命令小结
p 在当前光标后粘贴
P 在当前光标前粘贴
m 做标记
' 移动到标记的行首
` 移动到标记的光标位置
:marks 列出所有标记
yy 复制一行
Y

1. 将光标移动到将要复制的行处,按yy举行复制当前行(按nyy复制n行),再移动到粘贴位置,按p举行粘贴。

2. 将光标移到复制的首位置,按下v,用hjkl移动,按y复制,按p粘贴。

3. 光标移到肇始行,输入ma;光标移到结果行,输入mb;光标移到粘贴行,输入mc;然后 :'a,'b co 'c,把 co 改成 m 就成剪切了。

4. 光标移动到要复制的行,输入yny(n表现要复制该行以下n行);光标移动到粘贴行,按p粘贴。

5. 直接输入:n1,n2 co n3。(n1为肇始行,n2为结果行,n3为粘贴行)

6. 差别文件之间的复制:用:sp [filename]打开另一文件,(用^ww在文件之间切换),然后按上述要领复制

  相关的下令如下:

  yy 将当前行复制到缓冲区

  yw 将当前单词复制到缓冲区

  y1 将光标处的一个字符复制到缓冲区

  p 将缓冲区的信息粘贴到光标的背面

  :行号1 ,行号2 copy 行号3 将行号1到行号2的内容复制到行号3地址行的背面。

  :行号1 ,行号2 move 行号3 将行号1到行号2的文本内容移动到行号3地址行的背面。

7. 寄存器操纵

  "?nyy: 将当前行及其下n行的内容存储到寄存器?中,此中?为一个字母,n为一个数字

  "?nyw: 将当前行及其下n个字存储到寄存器?中,此中?为一个字母,n为一个数字

  "?nyl: 将当前行及其下n个字符存储到寄存器?中,此中?为一个字母,n为一个数字

  "?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母 ,也可以是一个数字

  ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中 vi 中配置tab为4和自动转换成空格

VIM 中复制和粘帖相关推荐

  1. vi 常用复制与粘帖技巧

    vi 常用复制与粘帖技巧 复制和粘贴是文本编辑中的常用操作,Vi也提供了这种功能. 复制是把指定内容复制到内存的一块缓冲区中,而粘贴是把缓冲区中的内容粘贴到光标所在位置. 复制和粘贴的方法如下. yw ...

  2. 编码的邪恶:复制与粘帖

    在侃侃而谈OO,侃侃而谈设计模式,侃侃而谈面向对象的诸多原则之前,我们首先应该掌握一点:封装.掌握好封装的原则和技巧之后,就算使用的不是OO语言,也能构造出框架优美的程序.将这些原则用在程序之外,也能 ...

  3. 我的特长是复制、粘帖

    来自:大叔爱吐槽(id:dashuaitucao) 特长 大家好,我是工作时长两年半的程序员汤姆,喜欢谷歌.复制.粘帖和提交. 招聘 应聘程序员,HR一上来就问我:有对象吗? 我:分了! HR:为什么 ...

  4. python复制word到粘贴板_python3+PyQt5实现使用剪贴板做复制与粘帖示例

    本文是对<Python Qt GUI快速编程>的第10章的例子剪贴板用Python3+PyQt5进行改写,分别对文本,图片和html文本的复制与粘帖,三种做法大同小异. #!/usr/bi ...

  5. 如何在Vim中复制到剪贴板?

    是否可以直接从Vim复制到剪贴板? yy只复制东西给Vim的内部缓冲区. 我想复制到操作系统的剪贴板. 在Vim中有没有这样的命令,或者你只能在Vim中猛拉东西? #1楼 在vimrc文件中,您可以指 ...

  6. (转)xshell无法在vim中复制黏贴

    ssh xshell 连接在vim中无法用 ctrl+insert 复制黏贴修改.vimrcset mouse=cvi的三种模式:命令模式,插入模式,可视模式.鼠标可以启动于各种模式中: The mo ...

  7. vi/vim中复制粘贴命令

    1. 选定文本块.使用v进入可视模式,移动光标键选定内容. 2.复制的命令是y,即yank(提起) ,常用的命令如下:      y      在使用v模式选定了某一块的时候,复制选定块到缓冲区用:  ...

  8. 复制 和 粘帖 的方法(特别在linux中),备忘

    终端(Terminal)下,一般是Ctrl-Shift-c /Ctrl-Shift-v . 控制台下,鼠标选中就是复制了,Shift-Insert粘贴 粘贴用Shift-Insert,通用. 图形界面 ...

  9. vim中复制整个别的文件内容

    1.新建一个文件 2.进来之后是空的 3.按ESC进去底行模式,输入 :r 文件名 当然这里的文件名也可以用路径加文件名,例如: :r /home/zzz/2201/asd.c 4.内容就自动拷贝过来 ...

最新文章

  1. C语言 · 勾股数
  2. python ioctl_Python如何使用ioctl或spidev从设备读取输入?
  3. 序列号明码比较的反汇编代码以及注册机的初步使用
  4. 使用Go语言从零编写PoS区块链(译)
  5. labview嵌入c代码_LabVIEW与myRIO嵌入式系统开发入门
  6. 重复运行JUnit测试而没有循环
  7. PostgreSQL PostGIS 的5种空间距离排序(knn)算法
  8. 三十、K8s供应链安全1-准入控制器
  9. HTML基础 --- HTML基础
  10. SketchUp Pro 2021 v21.1.279 x64 Multilingual
  11. 【使用51单片机驱动1.54英寸墨水屏做一个简洁的贪吃蛇游戏】
  12. Bean Validation
  13. 高铁对合肥及周边城市可达性及商业腹地变化影响研究
  14. 《天龙八部》地形研究
  15. AutoCAD输入netload命令后不弹出菜单而是一直显示程序集文件名解决方案
  16. 中职计算机英语教学设计,中职英语教学设计三篇
  17. AD原理图以及PCB图元件(作为库)绘制流程
  18. atoi(),atof(),atol();iato(),fato(),lato()---字符串和数字互相转换
  19. MAC系统格式化后的U盘在WIN系统上不显示盘符的解决办法
  20. 智能热流体仿真软件 - AICFD 2022R2版本新功能详解

热门文章

  1. 预测“叫停GPT-4后续AI大模型”后续:这是一个囚徒困境
  2. cad lisp 两侧偏移并删除_cad lisp 两侧偏移并删除_学会这12个CAD制图命令,走遍天下都不怕,有没有兴趣?......
  3. java咖啡口感_爪哇(java)咖啡介绍
  4. 计算机作业word样文图片,word文档中插入图片学案
  5. 计算机网络实验哈工大威海,哈工大威海计算机网络实验报告2
  6. maven php mysql,Hibernate+maven+mysql
  7. 浅谈 SOLIDWORKS 的同步建模技术 | 产品探索
  8. 【论文阅读】PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization
  9. 花呗最高额度只有5万,为何有人花呗额度可以达到1000万?
  10. 嵌入式Linux平台下的手机短信开发