En vim puedes ejecutar comandos con "!". Puede combinar eso con "r" para insertar la salida en su búfer actual.
: r! fecha
vie 20 jul 09:39:26 SAST 2012
insertará la fecha en un archivo.
Ahora cuando trato de hacer algunas cosas más interesantes como la fecha con un formato diferente +% F. En la línea de comando
$ fecha +% F
2012-07-20
En vim
: r! date "+% F"
message.to.followup.lstF
Que sale pone el nombre del archivo y pone F después de él. de alguna manera, la r! date "+% F" se está expandiendo en vim y no se ejecuta en la línea de comandos. ¿Qué necesito hacer para ejecutar eso y poner el contenido en vim?
Quizás vim tiene una mejor manera de insertar fechas en los archivos.
vimrc
para obtener cualquier formato de fecha que desee, automatizado .Respuestas:
Vim tiene una
strftime()
función interna . Pruebe esto (en modo de inserción):fuente
"=strftime("%F")<CR>P
(Fuente: vim.wikia.com/wiki/Insert_current_date_or_time )Seguí experimentando hasta que descubrí que vim estaba expandiendo el carácter "%". Así que simplemente escapa "\%" y todo funciona como esperaba.
Ahora puedo poner fechas en archivos como me gustaría
fuente
date
no sean, y por lo tanto, es más fácil de recordar que el algo interno "strftime".Otro método, sin escapar, usando
system()
:En modo INSERTAR :
En modo NORMAL :
fuente