101 votes

Meilleur moyen pour insérer un horodatage dans Vim?

EditPad Lite est une fonctionnalité intéressante (CTRL-E CTRL-I), qui insère un horodatage par exemple "2008-09-11 10:34:53" dans votre code.

Quelle est la meilleure façon d'obtenir cette fonctionnalité dans Vim?

(J'utilise Vim 6.1 sur un serveur Linux via SSH. Dans la situation actuelle, un certain nombre d'entre nous de partager une connexion donc je ne veux pas créer des abréviations dans le répertoire d'accueil si il y a un autre moyen intégré pour obtenir un horodatage.)

128voto

Swaroop C H Points 7518

Pour le faire fonctionner de la croix-plate-forme, il suffit de mettre la ligne suivante dans votre vimrc:

nmap <F3> a<C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR><Esc>
imap <F3> <C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR>

Maintenant, vous pouvez simplement appuyer sur la touche F3 tout moment à l'intérieur de Vi/Vim et vous obtiendrez le timestamp actuel inséré à l'emplacement du curseur.

97voto

Daren Thomas Points 26812

http://kenno.wordpress.com/2006/08/03/vim-tip-insert-time-stamp/

Il a essayé, il fonctionne sur mon mac:

:r! date

produit:

Thu Sep 11 10:47:30 CEST 2008

Ce:

:r! date "+\%Y-\%m-\%d \%H:\%M:\%S"

produit:

2008-09-11 10:50:56

20voto

luser droog Points 9030

Pourquoi tout le monde à l'aide de :r!? Trouver une ligne vide et tapez !!date de commande-mode. Enregistrer une séquence de touches!

[n.b. Cela va de la pipe de la ligne actuelle en stdin, puis remplacez la ligne avec la sortie de la commande; d'où le "trouver une ligne vide".]

9voto

intuited Points 7763

Comme une extension de @Swaroop C H de la réponse,

^R=strftime("%FT%T%z")

est une forme plus compacte qui sera également imprimer le fuseau horaire (en fait la différence de l'UTC, dans un ISO-8601-conformes à la forme).

Si vous préférez utiliser un outil externe pour une raison quelconque,

:r !date --rfc-3339=s

vous donnera une pleine RFC 3339 conforme timestamp; utiliser ns au lieu de s de Spock-aiment la précision, et conduite par tr ' ' T à utiliser un T majuscule au lieu d'un espace entre la date et l'heure.

Aussi, vous pourriez trouver utile de savoir que

:source somefile.vim

va lire dans les commandes à partir de somefile.vim: de cette façon, vous pourriez mettre en place un ensemble de correspondances, etc., et puis le charger lorsque vous utilisez vim sur ce compte.

7voto

Luc Hermitte Points 14171

Ont un look à la pointe dédié à l'horodatage de l'insertion/mise à jour sur vim.wikia.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X