Ex モードでの Vim レジスタの使用
-
18-09-2019 - |
質問
1 つの質問に 2 つの質問が含まれる可能性があります。Exモードでレジスタを参照する方法を知りたいです。
たとえば、ファイルを編集していて、タイムスタンプ (実際には日付スタンプだけ) を追加してファイルを保存したいとします。
次のコマンドを使用して、 register をシェルコマンド出力の値に設定できることはわかっています。
:let @a = system("date +\"%Y-%m-%d\"")
このレジスタを逆参照してその値を Ex コマンドに挿入するものはありますか?何かのようなもの:
:w testfile.<value of "a register>
システムのクリップボードにコピーして貼り付けるのもいいですが、将来的に他のコマンドを構築するために、より一般的/プログラム的な方法で行うとよいでしょう。
解決
これを行うには 2 つのアプローチがありますが、おそらくどちらもあなたが望むものではありません。
使用
<CTRL-R>a
現在のコマンドラインに内容を挿入します。見る:help c_CTRL-R
詳細については。使用
exe
式に変数を挿入できるようにします。見る:help :exe
そして:help 41.3
.:exe 'w testfile.' . @a
他のヒント
"A" を登録仮定すると、次のように入力することができます:
入力の値は、その時点でインライン登録する<CTRL-R>a
。これは、同様に挿入モードで使用することができます。
所属していません StackOverflow