Ben*_*oit 13
使用:
let @+ = @+ . my_expression
Run Code Online (Sandbox Code Playgroud)
或更短:
let @+ .= my_expression
Run Code Online (Sandbox Code Playgroud)
参考: :help :let.=
ruf*_*fin 10
如果你不是宏观,那么也可能值得检查寄存器. :help registers真是令人兴奋.
简而言之,有26个额外的"可自定义的剪贴板",称为寄存器,您可以在其中存储文本,从开始a和经过z.通过"命名,命名寄存器(例如f),然后键入要选择文本的"运动",可以在命令模式下将文本添加到寄存器.
使用寄存器复制(光标在[T]):
初始文件状态
This is my first line.
[T]his is my second line.
This is my third line.
Run Code Online (Sandbox Code Playgroud)
键入"fyy命令模式以使用一行(yy)填充寄存器.键入p(*见下文)以立即粘贴它.因此,键入的结果与使用默认剪贴板"fyyp键入的结果完全相同yyp.
结果
This is my first line.
This is my second line.
[T]his is my second line.
This is my third line.
Run Code Online (Sandbox Code Playgroud)
附加到登记册:
使用大写字母附加到您现有的注册表.在粘贴后的上述示例中,按下然后按下j一行"Fyy.然后键入p粘贴.你附上了 "这是我的第三行".到f的内容.
结果
This is my first line.
This is my second line.
This is my second line.
This is my third line.
This is my second line.
[T]his is my third line.
Run Code Online (Sandbox Code Playgroud)
(使用小写f会清除掉f内容并最终只保留"这是我的第三行.")
我还没有找到一种方法来附加到默认寄存器,因此你会遇到一些额外的击键来访问"命名"寄存器,但只需要做一些工作,它就是一种简单的方法可以即时附加到"剪贴板".
p粘贴什么?因为您的默认寄存器包含最后一个选择,并且显然不是简单地保存您添加的内容,而是在追加时拉出所有内容.在第一种情况下,可能更容易说,"键入的结果与使用默认剪贴板键入的结果完全相同."ffff"fyy"fpyyp