Vimでは「!」でコマンドを実行できます。これを「r」と組み合わせて、出力を現在のバッファーに挿入できます。
:r!date
2012年7月20日金曜日09:39:26 SAST
ファイルに日付を挿入します。
今、私が日付のようなもっと面白いことを別のフォーマット+%Fでやろうとすると。コマンドラインで
$日付+%F
2012-07-20
Vimで
:r!date "+%F"
message.to.followup.lstF
これにより、ファイルの名前が配置され、その後にFが配置されます。 r!date "+%F"がvimで展開され、コマンドラインで実行されていない方法。それを実行してコンテンツをvimに入れるにはどうすればよいですか?.
多分vimは日付をファイルに挿入するためのより良い方法を持っています。
Vimには内部のstrftime()
関数があります。 (挿入モードで)これを試してください:
<C-r>=strftime('%F')<CR>
Vimが「%」文字を拡張していることがわかるまで実験を続けました。したがって、「\%」をエスケープするだけで、すべてが期待どおりに機能します。
:r!date "+ \%F"
2012-07-20
今、私は私がしたいようにファイルに日付を入れることができます
:r!date "+ \%F" -d "-2日"
2012-07-18
system()
を使用した、エスケープせずに別のメソッド:
system('date +%F')
[〜#〜] insert [〜#〜]モードの場合:
<C-r>=system('date +%F')<CR>
[〜#〜] normal [〜#〜]モードの場合:
:put=system('date +%F')<CR>