MacVim,如何在编辑区读取“版本”的内容?

时间:2013-05-25 07:17:32

标签: vim

我知道我可以在正常模式下通过:version查看vim版本

但命令给我的是一个只读文本,我无法搜索任何内容,这是很多文本

那么如何从:version命令的结果中读取编辑区域?

我想也许它类似:r!ls但是怎么样?

顺便说一句,我认为:r!vim --version是正确的方法,导致带有GUI的vim与终端中的vim不同。

先谢谢!

3 个答案:

答案 0 :(得分:4)

命令:redir将消息重定向到文件,寄存器或变量。

您可以将:version输出重定向到寄存器,例如"x,并将寄存器内容插入缓冲区,方法是使用普通模式命令"xp或Ex命令{{ 1}}。

:put x

这适用于所有消息,而不仅仅适用于:redir @x | silent version | redir END :put x

答案 1 :(得分:2)

如果您只是想从Vim中获取版本信息,那么您也可以使用命令行选项--version来获取它。

$ vim --version > version.txt

特别是对于MacVim,您需要注意调用正确的Vim程序。也就是说,不是系统Vim而是MacVim可执行文件。尝试:

$ mvim --version > version.txt

现在version.txt包含版本信息,与:version输出相同。

答案 2 :(得分:2)

您可以使用:redir命令将:version的输出放在寄存器中:

:redir @x
:version
:redir END

(or :redir @x | version | redir END in one line)

然后将其粘贴到缓冲区中:

"xp

由于您使用的是MacVim,我认为mvim脚本已正确安装在$PATH的某个位置。如果是这种情况,您也可以这样做:

:r !mvim --version