读取文件并将内容存储在寄存器中

时间:2012-08-24 11:00:02

标签: vim

vim中有没有办法读取文件,比如:r,然后将其存储在某个寄存器中?并且有没有办法做同样的事情,但只有文件中的行匹配某些模式?

3 个答案:

答案 0 :(得分:14)

试试这个:

:let @x = join(readfile("~/.vimrc"), "\n")

它会显示.vimrc以注册x

答案 1 :(得分:4)

使用外部grep,你可以这样做:

:let @x = system('grep pattern filename')

仅将pattern中与文件filename匹配的行放入注册x

答案 2 :(得分:2)

您可以使用:new创建一个新缓冲区,读取文件:r <filename>,使用gg"xyG"将整个文件移入寄存器(例如x),然后使用{删除缓冲区{1}}。 如果您打算多次执行此操作,则可以为其创建映射。

要对与模式匹配的行执行相同操作,您可以在执行复制到寄存器之前执行全局命令(:q!)。