EditPad Lite memiliki fitur bagus ( CTRL- E, CTRL- I) yang memasukkan cap waktu misalnya "2008-09-11 10:34:53" ke dalam kode Anda.
Apa cara terbaik untuk mendapatkan fungsionalitas ini di Vim?
(Saya menggunakan Vim 6.1 di server Linux melalui SSH. Dalam situasi saat ini, beberapa dari kami berbagi login jadi saya tidak ingin membuat singkatan di direktori home jika ada cara lain untuk mendapatkan stempel waktu. )
:r!date "+\%F \%T"
atau:r!date +\%F\ \%T
.Untuk membuatnya berfungsi lintas platform, cukup letakkan yang berikut di Anda
vimrc
:Sekarang Anda bisa menekan F3 kapan saja di dalam Vi / Vim dan Anda akan mendapatkan stempel waktu seperti yang
2016-01-25 Mo 12:44
disisipkan di kursor.Untuk penjelasan lengkap tentang parameter yang tersedia, periksa dokumentasi fungsi C strftime () .
sumber
:Date
dengan menambahkan berikut untuk saya~/.vimrc
file konfigurasi:command! Date put =strftime('%Y-%m-%d')
. Ini memasukkan tanggal di baris baru. tidak berhasil membuat versi tanpa baris baru.command! Date :normal a<C-R>=strftime('%Y-%m-%d')<CR>
Mengapa semua orang menggunakan
:r!
? Temukan baris kosong dan ketik!!date
dari mode perintah. Simpan satu tombol![nb Ini akan menyalurkan baris saat ini ke stdin, dan kemudian mengganti baris dengan output perintah; karenanya bagian "temukan garis kosong".]
sumber
Sebagai perpanjangan dari jawaban @Swaroop CH,
adalah bentuk yang lebih ringkas yang juga akan mencetak zona waktu (sebenarnya perbedaannya dari UTC, dalam bentuk yang sesuai dengan ISO-8601).
Jika Anda lebih suka menggunakan alat eksternal karena alasan tertentu,
akan memberi Anda stempel waktu yang sesuai dengan RFC-3339; gunakan
ns
sebagai gantis
untuk presisi seperti Spock, dantr ' ' T
gunakan pipa untuk menggunakan huruf besar T, bukan spasi antara tanggal dan waktu.Anda juga mungkin merasa berguna untuk mengetahui hal itu
akan membaca dalam perintah dari
somefile.vim
: dengan cara ini Anda dapat mengatur satu set pemetaan kustom, dll., dan kemudian memuatnya saat Anda menggunakan vim di akun itu.sumber
:put=strftime(""%FT%T%z")
: r! tanggal
Anda kemudian dapat menambahkan format ke perintah tanggal (tanggal manual) jika Anda menginginkan format yang sama persis dan menambahkan ini sebagai alias vim juga
: r! tanggal + "\% Y - \% m - \% d \% H: \% M: \% S"
Itu menghasilkan format yang Anda tunjukkan dalam contoh Anda (tanggal di shell tidak menggunakan \%, tetapi hanya%, vim menggantikan% dengan nama file saat ini, jadi Anda perlu menghindarinya).
Anda dapat menambahkan peta di .vimrc Anda agar dapat meletakkan perintah secara otomatis, misalnya, setiap kali Anda menekan F3:
(Diedit dari atas :)) (Edit: ubah bagian teks menjadi kode, sehingga
dapat ditampilkan)
sumber
Untuk stempel waktu unix:
Anda juga dapat memetakan perintah ini ke sebuah kunci (misalnya F12) di VIM jika Anda sering menggunakannya:
Taruh ini di .vimrc Anda:
sumber
Dari Vim Wikia .
Saya menggunakan ini daripada harus menggerakkan tangan saya untuk menekan tombol F:
Sekarang dalam mode Sisipkan cukup ketik tds dan segera setelah saya menekan spasi atau kembali, saya mendapatkan tanggal dan terus mengetik.
Saya taruh
%b
di sana, karena saya suka melihat nama bulan. The%F
memberi saya sesuatu untuk mengurutkan berdasarkan tanggal. Saya mungkin mengubahnya%Y%m%d
jadi tidak ada karakter di antara unit.sumber
Unix, gunakan:
Windows, gunakan:
Detail selengkapnya: lihat Insert_current_date_or_time
sumber
Cara cepat lain yang tidak termasuk dalam jawaban sebelumnya: ketik-
!!tanggal
sumber
Saya ingin perintah khusus
:Date
(bukan pemetaan kunci) untuk memasukkan tanggal pada posisi kursor saat ini.Sayangnya perintah langsung seperti
r!date
menghasilkan baris baru. Jadi akhirnya saya menemukan yang berikut:yang menambahkan string tanggal / waktu pada posisi kursor tanpa menambahkan baris baru (ubah untuk
normal a
menambahkan setelah posisi kursor).sumber