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