11

潜在的に 1 つで 2 つの質問。Exモードでレジスタを参照する方法を教えてください。

たとえば、ファイルを編集していて、ファイルにタイムスタンプ (または実際には単に日付スタンプ) を追加して保存したいとします。

次を使用して、レジスタをシェルコマンド出力の値に設定できることを知っています。

:let @a = system("date +\"%Y-%m-%d\"")

このレジスタを逆参照して、その値を Ex コマンドに挿入する方法はありますか? 何かのようなもの:

:w testfile.<value of "a register>

システムのクリップボードにコピーして貼り付けることはいいことですが、将来的に他のコマンドで構築するために、より一般的/プログラム的な方法でそれを行うとよいでしょう。

4

2 に答える 2

13

これを行うには 2 つの方法がありますが、おそらくどちらもあなたが望むものではありません。

  1. <CTRL-R>a現在のコマンド ラインに内容を挿入するために使用します。詳細については、を参照:help c_CTRL-Rしてください。

  2. exe変数を式に挿入できるようにするために使用します。:help :exeおよびを参照してください:help 41.3

    :exe 'w testfile.' . @a
    
于 2010-03-09T08:10:33.803 に答える
1

レジスタ "a" を仮定すると、次のように入力できます。

<CTRL-R>aこれは、その時点でインラインでレジスターの値を入力します。これは挿入モードでも使用できます。

于 2010-03-09T01:09:31.987 に答える