Vim寄存器

Vim复制粘贴剪切最基本操作

  • Vim中y(yank缩写,抽出的意思)键用于复制功能;
  • p(past缩写,放置的意思)键用于粘贴功能;
  • d(delete缩写,删除的意思)键用于剪切功能,因为vim的删除是会在缓存备份的,所以实际就是剪切功能

常用的复制操作:

  • 复制选中的文本:可视模式下选中 文本后按y
  • 复制n行:{n}yy、{n}Y、y{n}y {}内参数n是可选的,你为从当前行往下数需要复制的行数,当n为1时可省略
  • 复制到文件末或首ygg,从当前行复制到文件尾yG
  • 复制到行首或尾:从光标位置(不包括光标当前所在的字符)复制到行首个字符y^,

    1. 从光标位置(不包括光标当前所在的字符)复制到行第一列y0<br /> 从光标位置(包括光标当前所在的字符)复制到行末y$<br />**常用粘贴操作:**
  • 将缓存内容粘贴到光标位置:普通模式下按p

常用剪切操作:

  • 剪切选中的文本:可是模式下选中 文本后按d
  • 剪切n行:{n}dd、{n}D、d{n}d n为从当前行往下数需要剪切的行数,当n为1是可省略。
  • 剪切到文件末或首:从当前行剪切到文件首dgg,从当前行剪切到文件尾dG
  • 剪切到行首或尾:从光标位置(不包括光标当前所在的字符)剪切到行 首个字符y^,

                                 从光标位置(不包括光标当前所在的字符)剪切到行第一列**y0**<br />                                   从光标位置(包括光标当前所在的字符)剪切到行末**y$**
    

ps:vim的多种寄存器可用于缓存内容,当没有指定使用某个寄存器是,Vim都会按默认寄存器操作。
比如y指令的复制操作默认是将内容缓存在了“无名寄存器种”,所以粘贴时默认也是将无名寄存器的内容取出。剪切操作的默认寄存器是1~9编号寄存器,这9个寄存器构成了一个队列,1号是队尾存放最新剪切掉的内容,当有更新的内容被剪切时小编号内容向大编号移动,最新内容放1号寄存器,超过9号之后就舍去。

如何指定使用某个寄存器

  • 复制操作

选中要复制的内容,在普通模式下键入指令:“{x}y ,{}内的值是可选的,x代表指定要使用的寄存器。
举例:要将选中的文本缓存到a寄存器则需键入指令: “ay

  • 粘贴操作

将光标移动到要要粘贴的位置,在普通模式下键入指令:“{x}p ,同样{}内的值是可选的,x代表指定要使用的寄存器。
举例:要粘贴a寄存器的内容则需键入指令: “ap

  • 剪切操作

vim的删除其实是剪切,删除的同时会把内容放进相关的缓存(编号寄存器).选中要剪切的内容,在普通模式下键入指令: “{x}d
举例:要将选中的文本剪切到系统寄存器则需要键入指令: “+d

注意:以上的x值并不是指定任意寄存器都能操作成功,比如复制往只读寄存器里缓存内容。剪切操作会按编号寄存器的顺序从1到9传递缓存内容,不能自己打乱。