Cara memasukkan tanggal ke vim


23

Di vim Anda dapat menjalankan perintah dengan "!". Anda dapat menggabungkannya dengan "r" untuk memasukkan output ke buffer Anda saat ini.

: r! date
Jum 20 Juli 09:39:26 SAST 2012

akan memasukkan tanggal ke dalam file.

Sekarang ketika saya mencoba melakukan hal-hal yang lebih menarik seperti kencan dengan format berbeda +% F. Di baris perintah

$ date +% F
2012-07-20

Dalam vim

: r! date "+% F"
message.to.followup.lstF

Yang keluar menempatkan nama file dan menempatkan F setelahnya. beberapa cara tanggal! "+% F" sedang diperluas di vim dan tidak dijalankan di baris perintah. Apa yang harus saya lakukan untuk menjalankannya sehingga menempatkan konten dalam vim.

Mungkin vim memiliki cara yang lebih baik untuk memasukkan tanggal ke file.



Berikut ini adalah tanggapan lain yang valid menggunakan <F3>. Anda perlu memodifikasi Anda vimrcuntuk mendapatkan format tanggal apa pun yang Anda suka, otomatis .
nilon

Jawaban:


21

Vim memiliki strftime()fungsi internal . Coba ini (dalam mode sisipan):

<C-r>=strftime('%F')<CR>

1
Saya memilih jawaban Anda karena ini adalah cara yang paling disukai untuk melakukan sesuatu.
nelaaro

1
Dan dalam mode normal ini sama (masukkan tanggal pada posisi saat ini ): "=strftime("%F")<CR>P(Sumber: vim.wikia.com/wiki/Insert_current_date_or_time )
erik

19

Saya terus bereksperimen sampai saya tahu bahwa vim sedang memperluas karakter "%". Jadi lepas saja "\%" dan semuanya berjalan seperti yang saya harapkan.

: r! date "+ \% F"
2012-07-20

Sekarang saya bisa memasukkan tanggal ke file Seperti yang saya inginkan

: r! date "+ \% F" -d "-2 hari"
2012-07-18


1
+1 Yang dapat Anda gunakan dengan program lain selain dateitu, dan karenanya lebih mudah diingat daripada "strftime" internat.
matematika

10

Metode lain, tanpa melarikan diri, menggunakan system():

system('date +%F')

Dalam mode INSERT :

<C-r>=system('date +%F')<CR>

Dalam mode NORMAL :

:put=system('date +%F')<CR>

1
<Cr> sangat berguna, saya berharap saya menghabiskan lebih banyak waktu membaca bantuan di vim.
nelaaro

1
Tidak ada kata terlambat.
romainl
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.