我知道如何复制到剪贴板,但我如何追加到剪贴板?VIM:追加到剪贴板
p.e.我在我的代码中使用这个
let @+ = my_expression
但是覆盖剪贴板。
我知道我可以使用寄存器a-z来追加到
p.e. let @B = my_expression
附加到寄存器b
但是当我想追加到剪贴板时该怎么办?
我知道如何复制到剪贴板,但我如何追加到剪贴板?VIM:追加到剪贴板
p.e.我在我的代码中使用这个
let @+ = my_expression
但是覆盖剪贴板。
我知道我可以使用寄存器a-z来追加到
p.e. let @B = my_expression
附加到寄存器b
但是当我想追加到剪贴板时该怎么办?
使用:
let @+ = @+ . my_expression
或更短:
let @+ .= my_expression
参考::help :let.=
如果你不是宏观ING,它可能是值得一试registers为好。 :help registers
是令人兴奋的。
简而言之,还有26个额外的“可定制的剪贴板”,称为寄存器,您可以在其中存储文本,从a
开始,并通过z
。通过点击"
命名寄存器(如f
),然后输入要选择文本的“动作”,可以在命令模式下向寄存器添加文本。
复制用的寄存器(光标在[T]):
初始文件状态
This is my first line.
[T]his is my second line.
This is my third line.
类型"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.
追加到寄存器:
使用大写字母追加到现有的寄存器。在上面的例子中,粘贴后,按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.
(使用小写f
会清除出f
的内容,并结束了它只是抱着‘这是我的第三条线。’)
我的天堂没有找到一种追加到默认寄存器的方法,所以你在访问“命名”寄存器时遇到了一些额外的按键操作,但只需要一点点工作,它就是一种简单的方法来即时追加到“剪贴板”。
p
贴什么是注册f
后立即抽出到f
?因为你的默认寄存器保存了最后一个选择,并且显然不会简单地保存你添加到f
的内容,而是在追加时取出所有在f
中的内容。在第一种情况下,可能更容易说出:“输入"fyy"fp
的结果与使用默认剪贴板输入yyp
完全相同。”
太简单了! :) 非常感谢你! – Reman 2011-06-10 08:47:07