ファイルの一部が外部プログラムによって生成されたテキストを書いていることに気付くことがあります。たとえば、次のようなCソースファイルについて考えてみます。
/*
* To regenerate the following data, place the cursor at the beginning
* of the next line after this comment, then run
* ma:r!find /foo -name '*.in' | xargs whatever | some complicated processing
* and merge the result with
* 'a!}sort -u
*/
some
generated
stuff
here
マウスを使用して最初のコマンド(ma:...
)を選択し、貼り付けて実行し、コマンドが終了するのを待ってから、選択'a!}sort -u
して貼り付けて実行します。完全に自動化できると思うのは半自動だけなので、それはエレガントではありません。と友達のためにvimオンラインヘルプを読んだのです:execute
が、それは私が望んでいることをしていないようです。vimレジスタに適切なコマンドを入力してから、レジスタの内容を実行することを考えています。オンライン:help registers
はこれまでのところ手がかりを与えていませんでした。
理想的には、新しいコメントは次のようになります
/*
* To regenerate the following data, place the cursor on the 'j' on the
* next line in this comment, then execute it with <SHORT-MAGIC-VIM-INCANTATION>
* jjma:r!find /foo -name '*.in' | xargs whatever | ...<CR>'a!}sort -u<CR>
*/
これはどのように達成できますか?