Quelques astuces pour AutoHotKey

Edit: avec le code correctement mis en forme, c’est pas plus mal ;)

Ceux qui me connaissent depuis assez longtemps pour avoir lu les manuels que j’ai écrit sur Windows savent que je suis un fan de AutoHotKey (similaire, en moins convivial mais bien plus puissant, à TextExpander sous OS X/iOS, et à AutoKey sous Ubuntu), pour automatiser tout ce que je peux. Comme je passe actuellement pas mal de temps sous Windows, plus exactement dans OneNote et Word (pour une petite expérience d’écriture dont je vous reparlerais, si elle se révèle concluante), c’est l’occasion rêvée de partager quelques raccourcis AutoHotKey que j’utilise au quotidien.

Tiret Cadratin

Dans Word, lorsque vous insérez un tiret cadratin (ou tiret long) il sera généralement considéré comme la première entrée d’une liste à puces. C’est un remplacement automatique très pratique… sauf quand on écrit des dialogues, vous savez :

jodie
Me fais pas chier, Word ! Ceci n’est pas une liste à puces mais une suite de paragraphes en style “Normal”, qui commencent juste par un tiret.

Vous me direz qu’il suffit  de désactiver le remplacement automatique dans Word, mais encore une fois : c’est assez pratique dans la majorité des cas, pourquoi s’en passer ? Solution : créer un script qui permette de contourner l’automatisme de Word dans ce cas précis.

::–::
Send {—}{Space}
Send ^z
return

Comment ça marche ? Lorsque je tape deux signes moins suivi de la touche espace, AutoHotKey les remplace par un tiret long, puis il simule un appui sur les touches Ctrl+z ce qui revient à dire à Word d’annuler le style (puces) qu’il vient d’appliquer automatiquement à votre tiret. Sous Windows, c’est bon à savoir : Ctrl+z permet toujours d’annuler une correction automatique ou un style appliqué par Word.

Entrées de journal, datées

Ce script permet d’ajouter un titre du même niveau que le dernier utilisé dans le doc, basé sur la date et l’heure, à la fin d’un fichier Word (dont le chemin d’accès est spécifié dans le script), que le fichier soit déjà ouvert, ou pas :

journal

:R*?:jjia::
IfWinExist Journal-2012 – Microsoft Word
    WinActivate
else
    Run C:\Users\david\SkyDrive\Documents\journal\Journal-2012.docx
FormatTime, CurrentDateTime,, dddd le dd MMMM, HH@mm
SendInput, ^{End}
Send {ENTER}
SendInput %CurrentDateTime%
SendInput +!{LEFT}
Send {ENTER}
Send ^+n
Return

On peut taper le raccourci (ici, j’utilise jjia) n’importe où dans Windows, pas seulement dans Word ou dans une fenêtre de saisie de texte. Le script vérifie que le fichier est déjà ouvert, sinon il l’ouvre.

SendInput, ^{End} envoie le curseur à le fin du fichier.

SendInput +!{LEFT} correspond au raccourci clavier de Word MaJ+Alt+flèche vers la gauche, qui applique un style de titre égal au dernier style de titre utilisé dans le fichier (titre 2 si c’est Titre 2, titre 3 si c’est Titre 3, etc.). Pour appliquer un titre de niveau supérieur, vous appuieriez deux fois de suite sur MaJ+Alt+flèche vers la gauche. Si vous vouliez créer un style de niveau inférieur, vous utiliseriez MaJ+Alt+flèche vers la droite.

Send ^+n n’est pas nécessaire, mais permet de s’assurer que Word utilisera le style normal (Maj+Ctrl+n annule tous les styles) lorsque l’on commencera à taper le texte de l’entrée du journal.

Vous l’aurez surement deviné, en dehors des styles de mise en forme et des raccourcis clavier propres à Word, ce script fonctionnera avec tout autre programme et avec tout format de fichier dans lequel on peut écrire du texte (suffit de changer le chemin d’accès et le nom de la fenêtre ouverte, dans le if). Et même avec du Markdown (c’est pas parce que je suis sous Windows, que je l’ai laissé tomber). Ici j’envoie un titre de niveau 2, en Markdown donc :

SendInput {#}{#} %CurrentDateTime%

Facilement nommer ses fichiers avec la date

Que je sois sous Windows ou OS X, je nomme mes fichiers de la même façon. J’ai donc défini les raccourcis clavier suivant :

:R*?:jjn::
FormatTime, CurrentDateTime,, yyyy-MMdd-N-
SendInput %CurrentDateTime%
Return

:R*?:jjw::
FormatTime, CurrentDateTime,, yyyy-MMdd-W-
SendInput %CurrentDateTime%
Return

:R*?:jjd::
FormatTime, CurrentDateTime,, yyyy-MMdd-W-DRAFT-
SendInput %CurrentDateTime%
Return

:R*?:jjo::
FormatTime, CurrentDateTime,, yyyy-MMdd-J-dddd
SendInput %CurrentDateTime%
Send {.}
Send markdown
Return

Le dernier script ajoute une extension spécifique, ‘.markdown’, au nom du fichier.

Natural scrolling sous Windows

J’utilise Windows sur un Mac (j’attends toujours de trouver mieux que le MacBook Air comme portable, ou qu’un MacBook Pro avec son magnifique écran mat), malheureusement Apple ne semble pas avoir le même souci du détail que dans OS X, ni le même soin en ce qui concerne l’expérience utilisateur sous Windows (en même temps, c’est pas comme si elle souhaitait vraiment encourager l’utilisation de Windows). Par exemple, il n’est pas possible de désactiver l’insupportable PlopPlopPlop que font les boutons de réglage du volume (je suis toujours à la recherche d’une solution simple), ni de régler le Natural scrolling du Trackpad—pour celui-là,  AutoHotKey permet de se tirer d’affaire :

WheelUp::
Send {WheelDown}
Return

WheelDown::
Send {WheelUp}
Return

J’ai piqué ce dernier script sur un autre site… Je crois me souvenir que j’en ai déjà parlé ici. Pas le courage de chercher. Ce n’est pas parfait (quand on scrolle trop longtemps, cela fait planter AutoHotKey), mais je vis avec.

Sur le même sujet, on vous propose

Un TextExpander pour Windows (et Ubuntu) ?

Un exemple d’utilisation de TextExpander

Nommer ses fichiers

flattr this!

6 commentaires » Ecrire un commentaire

  1. Si seulement j’avais le courage de me mettre à autohotkey…

    L’effort intial est largement (et rapidement) compensé. Cela permet de rendre Windows bcp plus convivial et performant ;)

  2. Aie. J’avais mal compris… De mémoire, il y avait une entrée spécifique pour bootcamp dans les options de controle du volume (clic droit sur l’icone Son > Options de controle du volume) – je n’ai pas accès à une installation windows bootcamp pour vérifier.

  3. Rétrolien : Mise en forme automatique dans OneNote, avec AutoHotkey | davidbosman.fr

Laisser un commentaire

Les champs obligatoires sont marqués d'une *.


Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>