我知道我可以在正常模式下通过:version
查看vim版本
但命令给我的是一个只读文本,我无法搜索任何内容,这是很多文本
那么如何从:version
命令的结果中读取编辑区域?
我想也许它类似:r!ls
但是怎么样?
顺便说一句,我认为:r!vim --version
是正确的方法,导致带有GUI的vim与终端中的vim不同。
先谢谢!
答案 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