69

私はVimを使用していますが、プレースホルダーテキストを、ファイル内の別の場所に既に書き込まれている複数行にわたる長い文字列に置き換えたいと考えています。

パターンをレジスタの内容に置き換えることはできますか?何かのようなもの

:%s/foo/<contents of register A>

それ以外の場合、行の範囲で置き換えることは可能ですか?何かのようなもの

:%s/foo/<content of lines from 10 to 15>
4

2 に答える 2

93

http://vim.wikia.com/wiki/Search_and_replaceによると次のよう に表示されます。

:%s/foo/\=@a/g

<c-r>aまた、挿入モードで押すと、レジスタの内容が挿入されaます。

かっこいい-私はそれを知りませんでした。良い質問。

関係する他のいくつかのこと:http <c-r>//vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R

于 2009-03-19T15:48:24.417 に答える
24
:%s/foo/\=getline(10, 15)/g

:%s/foo/\=join(getline(10, 15))/g
于 2009-03-19T15:53:57.930 に答える