1)我搜索FOO与全局命令文件:G:如何在文件末尾粘贴:g/foo/p搜索的结果?
:g/foo/p
,我想在文件末尾粘贴结果。我该如何继续?
2)同一个问题(或者是)带有回声语句的结果:
:echo IndexByWord(['word1', 'word2', 'word3', etc])
(关于此功能,请参阅:Vim : how to index a plain text file?)
在此先感谢
1)我搜索FOO与全局命令文件:G:如何在文件末尾粘贴:g/foo/p搜索的结果?
:g/foo/p
,我想在文件末尾粘贴结果。我该如何继续?
2)同一个问题(或者是)带有回声语句的结果:
:echo IndexByWord(['word1', 'word2', 'word3', etc])
(关于此功能,请参阅:Vim : how to index a plain text file?)
在此先感谢
2):call append('$', split(IndexByWord(['foo', 'bar']), '\n'))
:h append(
append({lnum}, {expr}) *append()* When {expr} is a |List|: Append each item of the |List| as a text line below line {lnum} in the current buffer.
:h split(
split({expr} [, {pattern} [, {keepempty}]]) *split()* Make a |List| out of {expr}.
使用'$'
,因为lnum等于缓冲区中的最后一行。
您需要使用split(),因为您引用的函数IndexByWord()会返回一个字符串。它在我看来你可能想要改变IndexByWord()返回一个列表。
如果更改IndexByWord()这一行:
return join(result_list, "\n")
到
return result_list
追加是简单一点,则:
:call append('$', IndexByWord(['foo', 'bar']))
我不知道(2),但对于(1),将其更改为:g/foo/t$
。这将复制(t
)该行到最后一个可寻址的行($
)。
谢谢ÿ ou,它工作。顺便说一句,我试过它的问题#2(:echo IndexByWord(['foo'])| t $),但当然失败惨败。 – ThG
感谢你和Zyx问题解决。再次感谢 – ThG