繁体   English   中英

有没有办法将vim命令的输出粘贴到缓冲区?

[英]Is there a way to paste the output of a vim command into the buffer?

我不时想做的事情就是将vim命令的输出粘贴到缓冲区中。 例如,当我正在编辑我的vimrc时,能够摆弄statusline然后能够做类似于

"=set statusline?<Enter>p

问题是,产量

E121: Undefined variable: set
E15: Invalid expression: set statusline?
Press ENTER or type command to continue

我认为这是可能的,而且我对内置函数以及如何使用它们还不够了解(我看到在这里和那里使用expand ,但在任何情况下都没有成功地使它适用于我),即使我(认为我)对正常模式非常了解。

请注意,这个具体的例子有点人为,但我现在想不出更好的一个。 对于上面的具体使用情况下,我可能只是":p获得全set ,我在实验过程中使用,然后编辑以适应命令,但相当定期我碰上,我希望VIM告诉我一些其他情况,然后我想将输出粘贴到某处,以便我可以继续查看它,同时继续我的工作。

设置值存储在以&符号开头的变量中。 因此,可以通过引用&statusline来访问statusline设置的值。 要插入文档,一种方法是使用“表达式”寄存器<ctrl-R>= 要使用它,请进入插入模式并按<ctrl-R>然后按= 您将在命令行中看到一个等号,您可以在其中输入: &statusline ,然后按enter键。 这会将值插入缓冲区。

您可以粘贴选项设置:

"=&statusline<Enter>p

但是,我不知道将任意命令的输出放在缓冲区中的任何方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM