2009-03-19 5 views
62

私はVimを使用していますが、いくつかの行にまたがっていくつかのプレースホルダテキストを置き換えます。Vimのファイル内の他の場所にあるレジスタや行の内容で置き換えます

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

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

それ以外の場合、範囲の行で置き換えることはできますか? http://vim.wikia.com/wiki/Search_and_replace によると

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

答えて

78

のようなものは、それが表示されます。

:%s/foo/\[email protected]/g 

また、<c-r>aはレジスタaの内容を挿入します押します。

クール - 私はそれを知らなかった。良い質問。 <c-r>を行うには

いくつかの他のものは:http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R私は感心してい

+0

は、あなたが1分未満で答え...ありがとう! –

+0

私はいつも、システムクリップボードの素晴らしい作業から来たコマンドに物事を入れたいと思っていました。 – ojblass

+0

vimdocのリンクが壊れている場合は、次のようにしてください:http://vimdoc.sourceforge.net/htmldoc/undo.html#CTRL-R – 0x89

20
:%s/foo/\=getline(10, 15)/g 

:%s/foo/\=join(getline(10, 15))/g 
+0

私は彼が探しているものの反対だと思う...彼は何かが欲しいと思う:s/foo/10,15/ –

+0

多分私は自分自身を明確に表現していないかもしれないが、 **は10から15までの行の内容**を含み、行10-15までの置換を制限しません。とにかく答えてくれてありがとう:) –

+1

私は変更されました。これは合っていますか? –

関連する問題