4

vim でファイルを開き、その中の特定の行を vim のレジスタの 1 つにコピーするスクリプトを作成しようとしています。スクリプトが再度実行されると、ファイルを再度開き、値を vim のレジスタに貼り付けます。事実上、スクリプトは実行されるたびに値を切り替えることになっています。

たとえば、スクリプトを実行するときに「foo」という単語を「bar」に切り替え、スクリプトを再度実行すると「foo」に戻すとします。次のようにして、単語 foo に到達できます。

vim '+/foo' myfilename

そして、私がvimの中にいるとき、次のようにして「foo」をレジスター「q」にロードできることを知っています

"qyy

しかし、次のコマンドは、レジスタを :reg でチェックするときに機能しません

vim '+/foo' '+"qyy' myfilename

私は何を間違っていますか?ありがとう!

4

1 に答える 1

6

コマンドラインモードで通常モードのコマンドを実行しようとしています(これが+引数の意味です)。必要な操作を実行するための正しいコマンドラインは次のとおりです。

vim '+/foo' '+normal "qyy' myfilename

:help +cmdそのような議論の詳細な説明については、を参照してください。

于 2012-07-22T13:11:06.407 に答える