我有一个包含vimscript的nofile缓冲区,我想执行它。但是,:so %将不起作用,因为它需要一个已保存的文件而不是一个缓冲区。默认情况下有vim命令执行此操作吗?如果不是,是否可以创建一个执行相同功能的函数?

#1 楼

是的,您可以使用ggyG:%y提取整个缓冲区,然后使用:@"执行它。

简而言之: :

:%y|@"<CR>


默认情况下或可选范围内,可在灵活的命令中使用,该命令可在整个缓冲区上工作

评论


您在第一个命令中缺少一个冒号。

–游客
2015年5月7日15:29

另外,这确实破坏了“”寄存器。我想如果您愿意的话,您可以使用另一个寄存器,或者可以保存“”寄存器,然后将其还原。

–EvergreenTree
15年5月8日在11:52