Vim中@/=""的作用是什么?是否存在同类寄存器?
Vim 中
@/="" 的功能及同类寄存器解析 关于 @/="" 的功能与猜测验证
首先要明确:你提到的命令完整有效形式是 :let @/=""(需在Ex模式下执行),直接在普通模式输入@/=""无法生效。
你的猜测大部分正确,但有一处关键错误:
- 正确部分:
@是寄存器的访问标识,/是正向查找寄存器(记录上次执行的正向搜索内容),""代表空字符串。 - 错误部分:
=不是“替换”,而是Vim脚本中的赋值操作符,整个命令的作用是将正向查找寄存器的内容设为空字符串,最终效果是清除Vim中上次查找的高亮匹配(Vim会自动高亮查找寄存器内的内容)。
同类特殊寄存器
Vim中有不少和@/功能类似的特殊寄存器,常用的包括:
@?:反向查找寄存器,记录上次执行的反向搜索(?命令)内容,同样可用:let @?=""清空反向查找的高亮。@::Ex命令寄存器,记录上次执行的Ex命令(以:开头的命令),输入@@可重复执行该命令。@":默认寄存器,存放最近删除、复制的内容,是yank/paste操作默认使用的寄存器。@%:当前文件名寄存器,内容为当前编辑文件的完整路径。@.:上次插入文本寄存器,记录最后一次插入模式下输入的内容。@*/@+:系统剪贴板寄存器,分别对应X11的主选择和剪贴板选择,用于和系统剪贴板交互。
内容的提问来源于stack exchange,提问作者thomasb
相关产品推荐
相关产品推荐

