Un exemple d’utilisation de TextExpander

Pour répondre à une question d’un lecteur, voici quelques infos sur la façon dont je crée les en-têtes de mes notes, dans Notational Velocity (ou dans n’importe quel éditeur de texte) :

Text Expander 001Comme le voyez, il y a un champ Titre, Auteur, Date (dans une version agréable à lire), mots-clés et Source. La seule chose que je fais, c’est remplir le contenu de Titre, d’Auteur et des mots-clés (sauf le premier, « idquelque chose », qui est généré automatiquement selon la date et l’heure à la seconde près, pour être sûr qu’il soit unique). Jusqu’il y a peu, j’utilisai un autre script, qui me permettait de récupérer l’URL automatiquement, et de ne pas avoir à m’en occuper, mais il ne fonctionne qu’avec Safari.

Pour le reste, c’est TextExpander qui fait tout. Je tape un raccourci de quatre lettres, qui est remplacé par ceci au début de chaque note :

Title:
Author:
Date: samedi 26 mars 2011
Keywords: id_20110326132542,
Source:

Rien de bien révolutionnaire, comme vous le voyez. Surtout, comme je l’ai déjà dit à plusieurs reprises, que tout cela est plus que lourdement inspiré des explications de AmberV, dans les forums de Scrivener. Mais je dois dire que le code id unique est bien utile pour créer des liens entre les notes, et pour retrouver facilement toutes les notes liées (il suffit de mentionner le lien de référence dans chaque note). Surtout avec Notational Velocity. Ici, je cherche toutes les notes qui font référence à un id particulier, celui qui renvoie à mes notes de lecture d’un roman de Vonnegut :

Text Expander 005

Comme vous le voyez, j’ai commencé à le lire le 27 janvier de cette année (la note de lecture (-N-) est à cette date, la fin de l’id m’indique même que j’ai du commencer la lecture aux alentours de 22h) et, selon toute vraisemblance, j’ai fini de le lire le 2 février, date à laquelle j’en parle pour la dernière fois dans mon journal (-J-). Bref, c’est à chacun de trouver la façon qui lui correspond.

Pour en revenir au modèle de note à proprement dit, dans TextExpander, il ressemble à ça :

Text Expander 002.png

(EDIT: voyez la suggestion de Pierre, dans le premier commentaire, elle est bien plus sympa que ma méthode).

Pas de panique, les « %quelque chose » sont des codes qui permettent de dire à TextExpander quoi faire (ajouter une tabulation, par exemple). Le reste c’est du texte tout simple. Les codes spéciaux sont accessibles via un menu tout bête :

Text Expander 003

En résumé, j’ai créé un raccourci qui crée automatiquement l’en-tête d’une nouvelle note et lui donne un identifcateur. J’aurais pu le faire dans TextMate, via son module Snippets qui est encore plus performant (un régal, entre autres choses parce qu’il permet encore plus simplement de déplacer le curseur d’un champ à un autre dans le modèle, donc de le remplir plus rapidement), mais l’avantage de passer par TextExpander c’est que le raccourci est accessible partout, pas seulement dans TextMate, y compris dans Notational Velocity 😉

J’aurais aussi pu le faire autrement, ou lui demander de créer le fichier en même temps. Mais ça colle bien avec ma façon actuelle de bosser sur Mac.

Notez enfin qu’il est possible de faire la même chose sans passer par TextExpander, en utilisant un script shell (et là, c’est gratuit). Ce sera juste un peu moins bien intégré. Si ça vous intéresse, on en reparlera à l’occasion, mais j’ai déjà expliqué comment faire sous Linux et là, je dois dire, ça marche du tonnerre.

Dans le même genre :

Utiliser TextExpander pour nommer ses fichiers selon un modèle prédéfini
Un script pour créer un nouveau fichier (avec template), sous Ubuntu
Récupérer du texte d’une page Web et le coller dans un fichier texte
TextExpander pour Ubuntu, ou presque : AutoKey
Un script pour créer un effet de bordure/ombre sous une image, directement dans Nautilus

16 commentaires » Ecrire un commentaire

  1. Bonjour David,

    Je lis ton blog depuis quelque mois déjà, mais c’est la première fois que j’interviens (peut-être parce que, pour une fois, au lieu d’apprendre plein de choses de toi, je me dis que c’est peut-être moi qui pourrait t’apprendre un truc ? … Non, rassure toi, mes chevilles vont bien, merci !)

    Avant de te filer un petit « coup » de main, je voulais te dire que j’apprécie beaucoup ton blog, que j’ai découvert via des liens croisés (en étant fan de dougist.com, du système de classement d’AmberV, de Notational Velocity, et autres, on finit par tomber sur toi !)

    Voilà, entrons dans le vif du sujet :

    Tu dis : « J’aurais pu le faire dans TextMate, via son module Snippets qui est encore plus performant (un régal, entre autres choses parce qu’il permet encore plus simplement de déplacer le curseur d’un champ à un autre dans le modèle, donc de le remplir plus rapidement) »

    As-tu pensé à utiliser la fonction « %fill% » de TextExpander ? Cela fait apparaître une popup avec des champs vides, et tu peux naviguer de l’un à l’autre grâce à la touche tabulation.

    Si tu veux obtenir l’en-tête telle que tu la décris ici, je te propose de créer le raccourci suivant dans TextExpander :

    Title : %fill:title% Author : %fill:author% Date : %A %e %B %Y Keywords: id_%Y%m%d%H%M%S, %fill:keyw% Source: %key:tab% %fill:src%

    Si tu invoques ce raccourci avec le code à 4 lettres de ton choix, tu obtiendras la popup dont je te parlais (en image, c’est là : http://cl.ly/2f2O111V0I1s0a203h40)

    Tu peux alors tranquillement remplir les champs un à un en naviguant de l’un à l’autre avec la touche Tabulation, puis appuyer sur Entrée quand tu as fini et le texte est collé comme par magie dans l’application ! Génial, non ? 😉

    Le seul souci que j’ai rencontré en voulant adapter ton « en-tête » de note est que, pour une raison qui m’est encore obscure, il semble qu’on ne puisse pas insérer de tabulation (%key:tab%) lorsqu’on utilise ailleurs dans le texte la fonction %fill%… Mais j’ai trouvé une autre solution : comme pour mes notes, j’utilise une police de caractères à espacement identique (je ne sais pas trop comment dire ça en français… une monospace font, quoi, Bitstream Vera Sans Mono, pour ceux que ça intéresse !), ce n’est pas un problème : il suffit de mettre le nombre d’espaces voulus (comme c’est le cas dans l’exemple de « code » que j’ai donné plus haut) et tout est parfaitement aligné !

    En espérant que cela puisse te servir 😉

    • Argh. Mais. C’est. Génial.

      Carrément. Et ça ressemble davantage à ce qu’il est possible de faire avec Zenity, sous Ubuntu. Merci pour cette astuce 🙂

      Et c’est aussi une bonne idée ta méthode pour virer les tabulations, je te la pique aussi–tant qu’à faire. J’essaye tout ça dès que possible.

      Au fait, pas la peine de t’excuser (ni toi ni personne, d’ailleurs) : je ne connais pas tout, loin de là (la preuve). Et je ne demande pas mieux que d’apprendre 😉

  2. Bonjour David et Pierre. Merci de nous faire partager ces expériences avec TextExpander !!! Installé depuis peu sur mon mac et sur mon iPhone 3G ;o)) Je ne peux plus m’en passer. @+

  3. J’ai téléchargé la version d’évaluation de TextExpander et j’ai tout de suite créé un script comme Pierre l’a conseillé pour avoir la pop-up.

    Ca marche parfaitement avec TextEdit. Par contre, si la pop-up s’ouvre bien dans Evernote, ensuite j’ai une sorte de zone qui se remplit, mais sans qu’aucun texte ne soit visible.

    Quelqu’un aurait une idée pour une solution ?

    P.S : si j’utilise un « Extraits de TextExpander » dans la zone permettant de donner un titre à ma note Evernote du genre « date du jour + code perso », ça fonctionne. Il n’y a donc que dans le corps du message que ça déconne.

  4. Pour ceux que ça intéresserait, j’ai trouvé la solution pour que ça marche dans Evernote :

    1. Désactiver l’option « Inclure les données HTML »

    2. Remplacer les « %key:tab% » par des « tab stop » (Option + Tab)

  5. Rétrolien : Tenir son journal en Markdown | davidbosman.fr

  6. Rétrolien : Quel est l'emplacement du dossier iCloud sur Mac ?

  7. Rétrolien : Quelques astuces pour AutoHotKey | davidbosman.fr

  8. Rétrolien : Pourquoi en Markdown ? | davidbosman.fr

  9. Rétrolien : Gérer ses notes en Markdown : texte, photo, vidéos, etc. | davidbosman.fr