Quelle est la façon la plus simple d'obtenir une touche d'accès rapide sur le Mac ayyy-mm-dd hh: mm: ss?

Sur Windows, j'utilise l'éditeur PSPad qui possède un bon timestamp ALT-D dont vous pouvez éditer le format, par ex. Yyyy-mm-dd hh: mm: ss .

Lorsque vous travaillez à l'extérieur d'un éditeur, par exemple, Google Docs , j'ai une Autohotkey que j'ai programmé CTRL-D pour insérer un timestamp aayy -mm-dd hh: mm: ss.

Je travaille maintenant sur un Mac principalement en utilisant TextWrangler comme mon éditeur, mais je ne trouve pas un raccourci instantané dans ses fonctionnalités.

Quelle est la manière la plus simple d'obtenir un AAyyy-mm-dd hh: mm: ss hotkey sur Mac, soit dans un éditeur de texte (gratuit), soit un équivalent (gratuit)?

Une option consiste à utiliser un script shell ou un script Python / Perl / Ruby.

Une option, en utilisant Python :

#!/usr/bin/env python import time t = time.localtime() # yyyy-mm-dd hh:mm:ss print '%d-%02d-%02d %02d:%02d:%02d' % (t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec) 

Un autre, plus court, par @NReilingh , date utilisation (script shell):

 date "+%Y-%m-%d %T" 

Utilisez /Applications/Automator.app pour créer un service qui exécute ce script. Ajoutez l'action Run Shell Script Automator et insérez le code ci-dessus. Sélectionnez aucune entrée dans une application et remplace le texte sélectionné . Ensuite, enregistrez.

Il sera placé dans le menu Services accessible à partir de la barre de menus d'une application en sélectionnant le menu avec le nom de l'application. Cela pourrait ressembler à ceci lorsque vous l'utilisez:

Texte alt

Affectez les raccourcis clavier dans le volet de préférences du clavier dans Préférences Système .

Texte alt


Le TextExpander, plus libre, a une fonctionnalité similaire à celle que vous voulez. C'est une application conçue pour l'insertion d'un extrait, par exemple pour les modèles de courrier électronique partiel.


TextMate est un éditeur commercial extensible qui vous permet de définir facilement des commandes personnalisées, de nouveau dans les langages de script ou de script, et de leur attribuer des raccourcis clavier.

Il y a un bug en 10.7 et 10.8 où les raccourcis pour les services Automator ne fonctionnent pas toujours jusqu'à ce que le menu des services ait été affiché dans la barre de menus. Il existe également un délai notable avant que les services ne soient exécutés. Une autre option serait d' attribuer un raccourci vers un script comme ceci:

 set old to the clipboard as record set the clipboard to (do shell script "date '+%Y-%m-%d %H:%M:%S'") tell application "System Events" to keystroke "v" using command down delay 0.05 set the clipboard to old 

keystroke n'ignore pas les touches de modification de la touche enfoncée, alors ajoutez un petit délai au démarrage si vous exécutez le script avec un raccourci comportant d'autres touches de modification que la commande. Les scripts rapides attendent jusqu'à ce que les touches de modification soient diffusées avant d'exécuter des scripts contenant des commandes de touches ou de code de clé.

Vous pouvez installer un complément Freeware appelé WordService qui ajoute cette fonctionnalité en tant que service, pour lequel vous pouvez attribuer un raccourci clavier dans Préférences Système -> Clavier -> Raccourcis.

Voici un article à propos de Mac OSX Tips – http://www.macosxtips.co.uk/index_files/automatically-insert-date-and-time.php

Téléchargez à partir de http://www.devontechnologies.com/download/products.html ou de l'App Store http://appstore.com/mac/wordservice

La solution de Lauri est beaucoup plus élégante que la mienne, mais voici ma solution AppleScript. Est-il plus rapide que de parcourir le presse-papiers et d'utiliser un script shell? Peut être.

Quoi qu'il en soit: Il existe de nombreuses solutions pour l'affecter à une clé, mais j'ai trouvé que le plus simple est Quicksilver Spark FastScripts . Spark peut simplement utiliser le scpt directement, c'est ce que la solution AppleScript enregistre.

Déclenchement de la date et de l'horodatage dans OSX

 -- yar2050 (Dan Rosenstark)'s favorite date format -- 2017-08-03 update on fillInZero(int) if (int < 10) then set int to "0" & int return int as string end fillInZero set theDate to (current date) set theHour to fillInZero(hours of (theDate) as integer) set theMinutes to fillInZero(minutes of (theDate) as integer) tell theDate to get (its month as integer) set theMonth to fillInZero(result) set theDay to fillInZero(day of theDate) tell (theDate) to get (its year as integer) & "-" & (theMonth) & "-" & theDay & " " & (theHour) & ":" & theMinutes set date_ to (result as string) tell application "System Events" set frontmostApplication to name of the first process whose frontmost is true end tell tell application frontmostApplication delay 0.2 -- I have no idea why this is necessary activate tell application "System Events" if (frontmostApplication = "Evernote") then keystroke "h" using {command down, shift down} keystroke "b" using {command down} keystroke date_ keystroke "b" using {command down} else keystroke date_ end if end tell end tell 

En tant que mise à jour de cette question, les utilisateurs de OS X El Capitan pourraient trouver le code Apple suivant utile.

 set the clipboard to (do shell script "date +%Y-%m-%d\" \"%H:%M:%S") tell application "System Events" keystroke "v" using command down end tell 

Les utilisateurs peuvent créer un flux de travail Run AppleScript comme décrit dans la réponse ci-dessus par @ daniel-beck. L'exemple que j'ai créé est illustré ci-dessous:

Capture d'écran de applescript dans automate