作者:大爱小哇先森_991 | 来源:互联网 | 2014-05-15 18:22
Vim的寄存器在普通的文本编辑器中,进行复制粘贴要用到剪切板。在Vim中没有剪切板的概念,取而代之的是寄存器。Vim寄存器功能更为丰富。大致可以分成以下几类:匿名寄存器命名寄存器a-z复制寄存器0-9黑洞寄存器_...
Vim的寄存器
在普通的文本编辑器中,进行复制粘贴要用到剪切板。在Vim中没有剪切板的概念,取而代之的是寄存器。Vim寄存器功能更为丰富。大致可以分成以下几类:
匿名寄存器“
命名寄存器a-z
复制寄存器0-9
黑洞寄存器_
表达式寄存器=
只读寄存器%#.:/
每种寄存器都用一个字符代表,比如命名寄存器用英文字母代表。在Normal模式中引用寄存器要加上双引号作为前缀。在insert模式中引用寄存器内容输入reg,寄存器名字前不需要双引号。查看寄存器内容用reg命令。比如:reg "/查看最近一次搜索的模式。reg命令不带任何参数则列出所有的寄存器内容。
Vim代码
--- Registers ---
"" ^J
^J ^J
^J^J
"0
^J KeyStrokes | ^J Buffer Contents | ^J
^J
"1
^J
"2 somethingInTheWa
"3 ^J
"4 3) line three^J
"5 2) line two^J
"6 3) line three^J
"7 2) line two^J
"8 3) line three^J
"9 2) line two^J
"b WhseM
"c LocThreshPct
"e H^[
"f ,^[
"g g^[^[^[^[jj^[^[
"j jjjjjjjjjjj?yc?yb
"k kkkkkkkkkkkkkkkkkkkkkkkkkk
"o ^[
"p ^[
"q :let i+=1^Mi^R=i^M. ^[
"y /* Print Information for Analyzer */^J put stream dataout "NEW SHEE
"z 3xic^[f(2xjF(l
"- KeyStrokes
"* 复制寄存器0原先的内容会放到复制寄存器1,
". 4.
": redir @a
"/ xterm_clipboard
"= i-- INSERT ---- INSERT --
匿名寄存器是默认的寄存器,当我们执行删除、修改或复制命令时原先的内容被自动放在匿名寄存器中。如果多次执行删除、修改或复制命令,该寄存器的内容将被覆盖,历史记录不会被保存。执行复制命令除了把内容放到匿名寄存器,还会放到复制寄存器0中去,复制寄存器0原先的内容会放到复制寄存器1,复制寄存器1原先的内容会放到复制寄存器2,以此类推直到复制寄存器9。命名寄存器由a-z 26个构成。往命名寄存器复制内容时使用小写字母会覆盖原先内容,使用大写字母则在原来的内容后添加。命名寄存器不像匿名寄存器一样自动拷贝其内容,必须明确使用才能访问命名寄存器中的内容。
黑洞寄存器相当于Unix中的/dev/null,任何复制到黑洞寄存器的内容会全部清除。该寄存器用下划线表示。利用该寄存器可以将不需要的内容删除而不影响匿名寄存器里的内容。
表达式寄存器用来指定一个vim脚本表达式,该表达式用等于号表示,它的值作为文本取代表达式被引用的地方。利用表达寄存器可以把上次帖子自动加序号基本思路是:
初始化变量i(:let i=0)
然后将光标放在要加序号的文本行首,并进入录制模式
执行:let i+=1回车,按^并进入插入模式,=i回车,然后输入点和空格,按q退出录制模式
用Visual Line模式选中其它行,执行ex命令normal @q
只读寄存器存放了一些不能修改的值比如:
最近执行的ex命令(:)
最近搜索的模式(/)
最近插入的行(.)
当前编辑的文件路径(%)
前一次编辑的文件路径(#)
此外,在Vim可以方便地访问到系统剪切板,使用加或星寄存器即可。加和星在X11系统中略有差别。在Windows和Mac OS X中基本没有差别。
推荐阅读
-
Vim 编辑器功能强大,但其默认的配色方案往往不尽如人意,尤其是注释颜色为蓝色时,对眼睛极为不友好。为了提升编程体验,自定义配色方案显得尤为重要。通过合理调整颜色,不仅可以减轻视觉疲劳,还能显著提高编码效率和兴趣。 ...
[详细]
蜡笔小新 2024-11-11 12:34:19
-
本文探讨了C盘无法格式化的原因,并提供了详细的解决方案,帮助用户顺利进行系统维护。 ...
[详细]
蜡笔小新 2024-11-12 13:05:47
-
-
本文介绍了如何使用Postman构建和发送HTTP请求,包括四个主要部分:方法(Method)、URL、头部(Headers)和主体(Body)。特别强调了Body部分的重要性,并详细说明了不同类型的请求体。 ...
[详细]
蜡笔小新 2024-11-15 13:35:01
-
0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ...
[详细]
蜡笔小新 2024-11-12 11:16:30
-
在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ...
[详细]
蜡笔小新 2024-11-11 18:33:22
-
在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ...
[详细]
蜡笔小新 2024-11-11 18:27:44
-
在使用 XAMPP 时遇到 404 错误,表示请求的对象未找到。通过详细分析发现,该问题可能由以下原因引起:1. `httpd-vhosts.conf` 文件中的配置路径错误;2. `public` 目录下缺少 `.htaccess` 文件。建议检查并修正这些配置,以确保服务器能够正确识别和访问所需的文件路径。 ...
[详细]
蜡笔小新 2024-11-11 18:20:00
-
如何在Windows内置的Ubuntu系统中更改SSH服务的端口号设置 ...
[详细]
蜡笔小新 2024-11-11 17:01:31
-
本文介绍了三种解决 Git Push 冲突的方法,包括创建新分支、手动解决冲突和强行推送。这些方法适用于不同的开发场景,如版本迭代、多人协作和个人开发。 ...
[详细]
蜡笔小新 2024-11-16 17:30:02
-
本文继续探讨如何在Excel VBA中自动添加数字证书。上一篇文章因突发情况未能完成,本次将详细介绍证书的生成和集成方法。 ...
[详细]
蜡笔小新 2024-11-16 17:18:24
-
本文详细介绍了如何将Windows 10家庭版系统升级到专业工作站版的方法,包括前期准备和具体步骤。 ...
[详细]
蜡笔小新 2024-11-16 16:59:39
-
本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ...
[详细]
蜡笔小新 2024-11-16 16:43:29
-
本文探讨了SSD购买后是否需要进行4K对齐的问题,并详细解释了4K对齐的原理及其重要性。通过对比机械硬盘与固态硬盘的结构,文章深入分析了4K对齐对SSD性能的影响,并提供了具体的对齐方法。 ...
[详细]
蜡笔小新 2024-11-16 16:27:37
-
本文将详细探讨PHP中C的作用,并对比其他编程语言如Java和C的特点及其适用场景。 ...
[详细]
蜡笔小新 2024-11-16 16:14:42
-
本章将详细介绍如何从零开始编译一套完整的Linux系统,涵盖关键组件如glibc库的介绍及其重要性。通过本文,读者将了解从源代码构建Linux系统的全过程。 ...
[详细]
蜡笔小新 2024-11-15 18:45:01
-
大爱小哇先森_991
这个家伙很懒,什么也没留下!