《Vim实用技巧(第2版)》学习笔记:技巧61-深入理解Vim寄存器

news/2024/7/21 15:01:18 标签: vim, 学习, linux

技巧61-深入理解Vim寄存器

在这里插入图片描述

  • 引用一个寄存器
  • Vim的删除、复制与粘贴命令都会用到众多寄存器中的某一个。
  • 可以同时给命令加"{register}前缀的方式指定要用的寄存器。若不指明,Vim将缺省使用无名寄存器。
  • Vim 剪切复制与粘贴对应的术语:delete,yank与put。

一些寄存器的例子

  • 把当前单词复制到a寄存器中
"ayiw
  • 把当前整行文本剪切至寄存器b中。
"bdd
  • 把b寄存器的内容粘贴出来
"bp

无名寄存器("")

  • 倘若没有指定要使用的寄存器,Vim将缺省使用无名寄存器。

  • 无名寄存器用双引号表示(:h quote_quote)。

  • ""p等同于p

  • x、s、d{mition}、c{motion}、与y{motion}命令(以及它们对应的大些命令)都会覆盖无名寄存器中的内容。

  • x和d{motion}应该被理解为剪切命令更合适,它们会覆盖无名寄存器的内容。

复制专用寄存器("0)

  • 当使用y{motion}寄存器时,要复制的文本不仅会被拷贝到无名寄存器中,而且也被拷贝到了复制专用寄存器中,后者可以用数字0加以引用。(:h quote0)
  • 复制专用寄存器,仅当使用y{motion}命令时才会被赋值。
  • 使用 "0P 复制出复制专用寄存器中的内容。

查看寄存器的内容

  • 查看所有寄存器的内容
:reg

在这里插入图片描述

  • 查看复制专用寄存器的内容
:reg "0

在这里插入图片描述

有名寄存器("a-"z)

  • 查看a寄存器内容
reg a

在这里插入图片描述

黑洞寄存器

  • 黑洞寄存器可以用下划线引动它。
  • 如果只想删除文本却不想覆盖无名寄存器中的内容时,此命令很官用。

系统剪贴板("+) 与选择专用寄存器("*)

  • Vim的加号寄存器与系统剪贴板等效,可用+号引用。
  • "+p命令将其粘贴到Vim内部。
  • 插入模式下用Ctrl-r+将其粘贴到Vim内部。
  • 如果在Vim的复制或删除命令之前加入"+,相应的文本将被捕获至系统剪切板。
  • X11视窗系统支持另一种被叫做主剪切板(primary)的剪贴板,它保存着上次被高亮选中的文本,可以用鼠标中键把他们粘贴出来。
  • Vim的星好寄存器对应主剪贴板,可以用*号加以引用。
  • "+ X11剪贴板,用剪切、复制与粘贴命令操作。
  • "* X11主剪贴板,用鼠标中键操作。
  • X11剪贴板的功能可在编译Vim时被激活或禁用。
  • 运行:version命令,然后找到xterm_clipboard关键字,如果前面有个减号,就表示不支持。
    在这里插入图片描述

其它寄存器

  • 可以显式地使用删除与复制命令来设置有名、无名以及复制专用寄存器的内容。
  • 只读寄存器:Vim还提供了几组可被隐式赋值的寄存器。
"% 当前文件名
"# 轮换文件名
". 上次插入的文本
": 上次执行的Ex命令
"/ 上次查找的模式
  • 以技术上讲,"/寄存器并非只读,可以用:let命令对其进行显式赋值。

http://www.niftyadmin.cn/n/1163796.html

相关文章

《Vim实用技巧(第2版)》学习笔记:技巧62-用寄存器中的内容替换高亮选区的内容

技巧62-用寄存器中的内容替换高亮选区的内容 在可视模式下使用p命令时,Vim将用指定的寄存器内容来替换高亮选区中的文本。 可以解决弄丢了复制内容的问题把删除和粘贴合成了一步,不需要先删除高亮选区的内容再粘贴。无名寄存器的内容和高亮选区的内容通过…

《Vim实用技巧(第2版)》学习笔记:技巧63-把寄存器的内容粘贴出来

技巧63-把寄存器的内容粘贴出来 p命令将寄存器中的文本粘贴到光标之后。P命令奖寄存器中的文本粘贴到光标之前。 粘贴面向字符的区域 在普通模式用p或P。在插入模式用Ctrl-r{register} 这种方式,寄存器中的文本总会被插入光标之前,就像我们在插入模式…

《Vim实用技巧(第2版)》学习笔记:技巧64-与系统剪贴板进行交换

技巧64-与系统剪贴板进行交换 了解你所用系统的剪贴命令 在OS X中,Cmd-v映射会触发系统粘贴命令。在Windows,Linux中比较复杂。 Ctrl-v是系统粘贴命令的标准映射项。普通模式下Ctrl-v会激活Visual-Block模式。在插入模式下,它允许插入字符本身或字符编码…

《Vim实用技巧(第2版)》学习笔记:技巧66-规范光标位置、直达目标以及中止宏

技巧66-规范光标位置、直达目标以及中止宏 黄金法则:在录制一个宏时,要确保每条命令都可被重复执行。 规范光标位置 应该把光标移动到下一处查找匹配项(n),或是当前行的行首(0),又或是当前文件的行首(gg).如果每次总是从确定的位置开始执行的话,那么命…

《Vim实用技巧(第2版)》学习笔记:技巧67-加次数回放宏

技巧67-加次数回放宏 不用精确计算宏的次数,估算一个足够大的次数。作者通常是用22这个数字,2与字啊用一个键上,容易输入。在下面行每个号左右加上空格 录制宏qqfs jkqqq:录制宏保存在q寄存器里f:查找号s:删除号并进入插入模式 :输入"空…

《Vim实用技巧(第2版)》学习笔记:技巧68-在连续的文本行上重复修改

技巧68-在连续的文本行上重复修改 对于多行范围内的重复性改动,可以先录制一个宏。然后再在没一行上回放,这将会极大减轻我们的工作量。该功能可用串行或并行两种执行宏的方式实现。 demo1 目标文本 1. one 2. two 3. three 4. four转换后的文本 1)…

《Vim实用技巧(第2版)》学习笔记:技巧69-给宏追加命令

技巧69-给宏追加命令 在录制宏的过程中可能会漏掉某个步骤。在这种情况下,没必要重头开始录制,可以在现有宏的结尾附加额外的命令。如果是在结尾缺少命令可以附加,如果是在中间或前面就不能了。追加到a寄存器的方法:例如需要追加j qA j q追加…

《Vim实用技巧(第2版)》学习笔记:技巧70-在一组文件中执行宏

技巧70-在一组文件中执行宏 建立目标文件列表 :args *.lua显示参数列表中的内容 :args录制宏 在开始录制前,首先要确保光标已经位于参数列表中的第一个文件中 :first正常录制宏 以并行方式执行此宏 先丢弃录制宏时的修改,防止批量执行时…