vim 中有没有办法读取文件,例如 with :r
,然后将其存储在某个寄存器中?有没有办法做同样的事情,但只能使用文件中与某些模式匹配的行?
问问题
2339 次
3 回答
16
尝试这个:
:let @x = join(readfile("~/.vimrc"), "\n")
它将读取.vimrc
注册x
。
于 2012-08-24T11:19:37.367 回答
5
使用外部 grep,您可以执行以下操作:
:let @x = system('grep pattern filename')
仅将pattern
文件filename
中匹配的行放在 register 中x
。
于 2012-08-24T12:02:41.740 回答
2
您可以使用 创建一个新缓冲区:new
,读取文件:r <filename>
,使用 拉取整个文件以获得寄存器(例如,x)gg"xyG"
,然后使用 删除缓冲区:q!
。如果您打算多次执行此操作,您可以为其创建映射。
:h :g
要对匹配模式的行执行相同操作,您可以在执行复制到寄存器之前执行全局命令 ( )。
于 2012-08-24T11:12:23.030 回答