Org-mode: Dupliquer une note
Un petit article pour vous montrer comment, avec Org-mode, vous pouvez dupliquer des notes tout en adaptant leurs dates.
Avant-propos: Les raccourcis clavier
Dans cette article, je vais parler de raccourcis clavier. Si
je note le raccourcis C-c C-s
, cela veut dire "Contrôle + c,
relâcher, puis Contrôle + s". M-x
voulant dire "Meta + x". "Meta"
correspondant à "Alt".
Revenons au sujet de l'article
Exemple de répétition
Prenons un exemple simple: Toutes les semaines, pendant 15 semaines, vous suivez un cours à la même heure.
Vous souhaitez que chaque session de cours soit visible dans l'agenda et, pour chacune d'entre elles, vous souhaitez prendre des notes.
Première approche: Une tâche planifiée avec répétition
Une première façon de faire, c'est de:
- Créer une tâche Org-mode
- Lui ajouter une planification (Un champ
SCHEDULED
) - Ajouter une répétition dans la planification
- Ajouter le document Org-mode à Org-agenda, si pas déjà fait
Ainsi, le cours sera visible dans l'agenda, chaque semaine.
Nous pouvons maintenant, chaque semaine, créer une nouvelle note pour chaque session. Et dans chacune de ces notes, écrire les points importants.
Mais c'est un peut redondant de recréer une note pour chaque session. Et pour la tâche qu'on vient de créer, on doit aussi gérer la date de fin. Et qu'en est-il des vacances ?
C'est pour cela qu'il existe une autre approche.
Deuxième approche: Duplication de notes
Pour cette approche, nous allons faire ceci:
- Créer une note pour la première session, avec une date et une heure dans le titre
- Demander à Emacs de dupliquer cette note et d'adapter la date
- Supprimer les notes correspondant à des jours de vacance
Pour commencer, je crée la note pour la première session:
* <2023-07-07 ven 17:30-19:00> Session cours de programmation
La date et l'heure peuvent être insérées avec la fonction
org-time-stamp
(raccourcis clavier C-c .
).
Maintenant, je place le curseur d'écriture sur la note et j'appelle la
fonction org-clone-subrtee-with-time-shift
avec le raccourcis
M-x
.
Emacs va demander combien de copie je souhaite et quel décalage pour
la date. Pour cette exemple, j'indique 15 copies avec un décalage de
+1w
(plus une semaine). Voici le résultat:
* <2023-07-07 ven 17:30-19:00> Session cours de programmation * <2023-07-14 ven 17:30-19:00> Session cours de programmation * <2023-07-21 ven 17:30-19:00> Session cours de programmation * <2023-07-28 ven 17:30-19:00> Session cours de programmation * <2023-08-04 ven 17:30-19:00> Session cours de programmation * <2023-08-11 ven 17:30-19:00> Session cours de programmation * …
Ensuite, je peux supprimer les notes correspondantes aux jours de vacances.
Si ce n'est pas déjà fait, j'ajoute le document Org-mode à Org-agenda
avec la fonction org-agenda-file-to-front
(raccourcis clavier C-c
[
).
Et voilà, chacune des sessions sera visible dans mon agenda Org-mode. Et dans chacune d'entre elles, je peux prendre des notes:
* <2023-07-07 ven 17:30-19:00> Session cours de programmation - Présentation du cours et de ses modalités - Plan du cours - Introduction et histoire de la programmation - … * <2023-07-14 ven 17:30-19:00> Session cours de programmation - Suite de l'histoire de la programmation * <2023-07-21 ven 17:30-19:00> Session cours de programmation * <2023-07-28 ven 17:30-19:00> Session cours de programmation * <2023-08-04 ven 17:30-19:00> Session cours de programmation * <2023-08-11 ven 17:30-19:00> Session cours de programmation * …
Flexibilité
Vois pouvez bien-sûr adapter la façon d'organiser ces notes.
Par exemple, créer simplement une section pour chaque cours et y regrouper toutes vos notes.
Personnellement, je crée un document Org-mode par cours. Le document possède un tag unique qui représente le cours. Dans chaque document, j'ai les sections suivantes:
- Informations pratiques (Nom et e-mail du ou de la prof, numéro de salle, etc)
- Projets et tâches (Les travaux pratiques notés, les devoirs, etc)
- Sessions (regroupe toutes les sessions de cours)
- Documents distribués (PDF, présentations, etc)
- Labos (Notes sur les exercices pratiques)
- Synthèse (Ré-écriture de mes notes, regroupant toutes les autres)
- Remarques
Dans "Sessions", je crée une note pour chaque session de cours, comme décrit dans cet article.
Dans "Documents distribués", je crée une note pour chaque document, que je
vais attacher avec la fonction org-attach
. J'utilise ensuite
Org-noter pour prendre les notes sur les documents eux-mêmes.
"Synthèse" me sert à ré-écrire toutes mes notes, à partir des notes de cours, de documents distribués et de labo. J'essaye de les écrire comme-ci j'expliquais le sujet du cours à une personne qui le verrai pour la première fois.
Conclusion
org-clone-subtree-with-time-shift
est une fonction simple mais que
s'avère assez pratique. Si vous voulez en savoir plus à son sujet, je
vois invite à lise sa documentation avec le raccourcis clavier C-h f
org-clone-subtree-with-time-shift
.