質問

1 つの質問に 2 つの質問が含まれる可能性があります。Exモードでレジスタを参照する方法を知りたいです。

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

次のコマンドを使用して、 register をシェルコマンド出力の値に設定できることはわかっています。

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

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

:w testfile.<value of "a register>

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

役に立ちましたか?

解決

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

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

  2. 使用 exe 式に変数を挿入できるようにします。見る :help :exe そして :help 41.3.

    :exe 'w testfile.' . @a
    

他のヒント

"A" を登録仮定すると、次のように入力することができます:

入力の値は、その時点でインライン登録する<CTRL-R>a。これは、同様に挿入モードで使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top