three repeated mode in Emacs orgMode

Pre

In Emacs org mode, we usually organize routine tasks using repeated keyword in schedule, and there are three of them.

+

this is the most basic one.
assuming we have this, and today is 2023-10-16

1
SCHEDULED: <2023-09-23 Sat +1w>

marking this done will update this SCHEDULED date to

1
SCHEDULED: <2023-09-30 Sat +1w>

.+

compared to the previous one, the difference is the next SCHEDULED date will also be added one week, but based on today. so the result will be

1
SCHEDULED: <2023-10-23 Mon +.1w>

++

for the last one, it will add at least one day, and will repeat it as many time as possible to make update this SCHEDULED date into the future.

1
SCHEDULED: <2023-10-21 Sat ++1w>

Diagram

to make this more intuitive, you can check the diagram below

+

gitGraph
commit id: "     " tag: "09-23 Sat"
branch MarkAsDone
checkout main
commit id: " "
commit id: " "
checkout MarkAsDone
commit id: "           " tag: "Literally + 1 week"
checkout main
merge MarkAsDone tag:"09-30 Sat"
commit id: "  "
commit id: "  "
commit id: "    " tag: "Tody:10-16 Mon"
commit id: "   "

.+

gitGraph
commit id: "     " tag: "09-23 Sat"
branch MarkAsDone
checkout main
commit id: " "
commit id: " "
commit id: "  " tag: "Tody:10-16 Mon"
commit id: "   "
commit id: "   "
checkout MarkAsDone
commit id: "      " tag: "+ 1 week from today"
checkout main
merge MarkAsDone tag:"10-23 Mon"
commit id: "    "

++

gitGraph
commit id: "     " tag: "09-23 Sat"
branch MarkAsDone
checkout main
commit id: " "
commit id: " "
commit id: "    " tag: "Tody:10-16 Mon"
commit id: "  "
commit id: "  "
checkout MarkAsDone
commit id: "   "tag: "add at least 1 week util into the future"
checkout main
merge MarkAsDone tag:"10-21 Sat"
commit id: "      "