长沙市做网站的,组合wordpress源码,wordpress google 字体 插件,Wordpress手帐计算机中通常所说的寄存器Register一般指的是CPU中的寄存器#xff0c;用来暂存CPU处理所需要的指令、数据等。
vim中同样也有寄存器#xff0c;使用的方式和CPU非常类似。
vim中的寄存器(register)作用和windows中的剪切板类似#xff0c;不过vim中的寄存器不止一个…计算机中通常所说的寄存器Register一般指的是CPU中的寄存器用来暂存CPU处理所需要的指令、数据等。
vim中同样也有寄存器使用的方式和CPU非常类似。
vim中的寄存器(register)作用和windows中的剪切板类似不过vim中的寄存器不止一个有不同的类别有不同的用处。
vim的寄存器是一组用于保存文本的简单容器。它们既可像剪贴板那样剪切、复制和粘贴文本也可以记录一系列按键操作把它们录制成宏。
vim常规使用系统剪贴板进行剪切、复制与粘贴操作如果再运用寄存器手段将为删除、复制与粘贴等操作提供更多选择在而更具灵活性同时也提高了编辑文本效率。
一、认识寄存器
vim的寄存器可以看成vim中额外用来存储信息的区域虽然看不见但是如果使用x、s、y、p等命令都无意识的使用了vim的寄存器。
你可能已经在复制或删除文本并用p或P粘贴它们到别处的时候使用过Vim的寄存器了。但是你知道Vim总共有10种不同类型的寄存器吗如果正确地使用Vim寄存器将帮助您从重复的输入中解放出来。
总的来说寄存器就是一个可自定义的多重剪切板超级剪切板。
1.寄存器分类
vim所拥有的10种寄存器类型
匿名寄存器编号寄存器(0-9)小删除寄存器(-)命名寄存器(a-z)只读寄存器(:,.,%)Buffer交替文件寄存器(#)表达式寄存器()选取和拖放寄存器(*,)黑洞寄存器(_)搜索模式寄存器(/)
2.寄存器作用与功能
常用的有匿名寄存器和命名寄存器(a-z)。
匿名寄存器
匿名寄存器,又常称为无名寄存器是vim默认的寄存器复制、删除、修改等操作的内容都会保存在该寄存器中。
倘若没有指定要使用的寄存器vim将缺省使用无名寄存器它可以用双引号表示。为了显式地引用该寄存器需要使用两个双引号。例如p它完全等同于p命令。x、s、d、c与y命令以及它们对应的大写命令)都会覆盖无名寄存器中的内容。无论哪一种情况都可以通过加(register}前缀来指定另外一个寄存器但无名寄存器总是缺省的。事实上无名寄存器的内容很容易被覆盖不小心会导致问题发生。
命名寄存器(a-z)
命名寄存器使用字母a-z来命名。a-z命名寄存器可以存储复制的、修改的、和被删除的文本。用户需要显示地告诉vim要使用的命名寄存器。
追加文本使用大写版本的命名寄存器来向原来的命名寄存器中追加文本。
复制专用寄存器0
就是使用y命令复制的内容都会存放到这个寄存器中。
缓存最近操作内容复制与删除有别。
黑洞寄存器_
顾名思义这个寄存器的功能和/dev/null设备非常地相似就是将一切输入其中的东西都吞噬掉。我们常用x命令来删除某个字符用dd命令来删除某行其实这些都不是删除是剪切真正的删除应该是这些命令 _dd //删除某行 _x //删除光标下的字符
文件名寄存器%
%代表的是文件名寄存器存放的是当前正在编辑的文件名
二、引用寄存器
我们重点讨论无名寄存器的命名、使用等操作。
本文中提到的d命令y命令c命令指的是和这个操作符相关联的命令集合比如和y操作符相关联的一些命令如下 yy //复制当前行 yw //当前光标下面的这个单词 yit //复制一个html标签中的内容 yft //复制当前行上光标到第一个t之间的所有内容 yiw //复制一个单词的内容(yank in word)
vim的删除、复制与粘贴命令都会用到众多寄存器中的某一个。可以通过给命令加{register}前缀的方式指定要用的寄存器。若不指明vim将缺省使用无名寄存器。
1.在普通模式中使用寄存器
如果想把当前单词复制到寄存器a中可执行ayiw或者可以用bdd把当前整行文本剪切至寄存器b中。在此之后既可以输入ap粘贴来自寄存器a的单词也可使用bp命令粘贴来自寄存器b的一整行文本两者互不干扰。
比如%代表的是文件名寄存器存放的是当前正在编辑的文件名我们现在打开一个文件demo.txt处于普通模式此时输入以下内容 %p
//表示将文件名寄存器的内容粘贴到当前行
文件内容就变成这个样子了 2.在底行模式中使用寄存器
除了普通模式的命令外vim也提供用于删除、复制与粘贴操作的Ex命令(底行模式下)。例如可以执行delete c把当前行剪切到寄存器c然后再执行put c命令将其粘贴至当前光标所在行之下。
delete命令可以简写为d。
执行d b命令删除当前行内容存入b寄存器中
执行nd d命令删除第n行内容存入d寄存器中。
如下图n8 执行粘贴命令时不能把put简写为p会报错。
执行put d命令时,将在当前行后粘贴d寄存器中的内容。
执行nput d命令时,将在第n行后粘贴d寄存器中的内容。
如下图n3 一个很酷的技巧是将黑洞寄存器(_)传给:put命令。因为黑洞寄存器不保存任何值:put _命令将插入一个新的空白行。您可将这个与全局命令联合起来插入多个空行。
在编辑模式当我们按下ctrlr键再加上相应的寄存器的名字就可以插入寄存器中的内容了。 在编辑模式下一般用的最多的是选择内容用ctrlinsert复制用shiftinsert粘贴。
4. 在可视模式中使用寄存器
在可视模式下一般用的最多的是无名寄存器。选择内容后录入y命令进行复制录入d命令删除内容。
三、查看寄存器
查看寄存器里面缓存的内容可以使用多个命令如disregisters,register,reg等。 :reg [寄存器名称] :reg # 查看当前所有寄存器 :reg a b c # 查看命名寄存器 四、删除寄存器
从技术上来说我们没有必要来清除任何寄存器因为你下一个使用来存储文本的寄存器会自动覆盖该寄存器中之前的内容。
如果想清除寄存器中的内容可以使用表达式:let a来将寄存器a的值设为空的字符串。
寄存器的生命周期是很长的即使服务器重启什么的只要能正常进入系统寄存器里的内容都是一直存在的。