Vimoutliner

De Vim-fr

Ce script permet de se servir de vim comme d'un "outliner", un logiciel de gestion de tâches.

Il vous permet par exemple de hiérarchiser une liste de tâches, et de pouvoir valider les différents éléments facilement, le tout depuis vim.

Installation

Pour se faire, installer le plugin (sous debian)

   apt-get install vim-vimoutliner
   vim-addons install vimoutliner

Après, il suffit de lancer vim et d'ouvrir un fichier avec pour extension .otl (ou de faire un :set ft=otl). On se retrouve alors dans le mode outliner.

Pour l'aide, il suffit de faire :help vo, ou :h outliner, ou encore :h vimoutliner.

Exemple

a faire :
    courses
       pain
       tomates
    sortir le chien
    rédiger rapport important
       intro:
          bien penser à remercier machin
       corps:
          bla bla

Pour ajouter des checkboxes devant chaque élément, sélectionnez les, et faites en mode normal ,,cb et vous obtiendrez comme résultat :

Screen outliner.png

Pour valider une checkbox, il suffit de faire ,,cx (si toutes les checkboxes d'un sous-arbre sont validées, le parent l'est également).

Commandes

Commande Mode Explication
,,1 all met le niveau de folding à 0
,,2 all met le niveau de folding à 1
,,3 all met le niveau de folding à 2
,,4 all met le niveau de folding à 3
,,5 all met le niveau de folding à 4
,,6 all met le niveau de folding à 5
,,7 all met le niveau de folding à 6
,,8 all met le niveau de folding à 7
,,9 all met le niveau de folding à 8
,,0 all met le niveau de folding à 99999
,,- all dessine une ligne de "------------"
,,f normal passe en mode :e .
,,s normal trie les fils de la tâche sous le curseur
,,S normal trie les tâches du même niveau sous le curseurs
,,t normal rajoute le temps actuel à la fin de la tâche sous le curseur (HH:MM:SS)
,,T normal rajoute le temps actuel au début de la tâche sous le curseur (HH:MM:SS)
,,d normal rajoute la date actuelle à la fin de la tâche sous le curseur (HH:MM:SS)
FIXME format de date?
,,D normal rajoute la date actuelle au début de la tâche sous le curseur (HH:MM:SS)
FIXME format de date?
,,B normal fait que le texte commence par un espace
,,b normal fait que le texte commence par un : et un espace
,,w insertion sauvegarde les changements et revient dans le mode insertion
,,e normal exécute le tag sous le curseur
,,cb normal rajoute une [_] au début de la ligne courante
,,cB normal rajoute une [_] au début de la ligne mais pas "Safely"
,,cx normal rajoute une X dans la [_] de la ligne courante
,,c% normal rajoute une [_] % au début de la ligne courante
,,cp normal rajoute aussi une [_] % au début de la ligne, mais en mieux ("always")
,,cd normal supprime la checkbox de la ligne courante
,,cz normal met à jour les % de toutes les tâches du fichier (en comptant les sous-tâches d'une tâche à %, ou valide une tâche dont toutes les sous-tâches sont faites)

Bug

Il se peut que les commandes commençant par ,, ne marchent pas chez vous, vous devez remplacer ,, par \ ou rajouter let maplocalleader = "," dans votre .vimoutlinerrc.

Astuce

Vimoutliner utilise des tabulations pour ses indentations, si par hasard vous avez l'option list activée (si par exemple vous codez en Python), et que vous ne voulez pas voir les tabs juste pour vos fichiers otl, il suffit de rajouter cette ligne à la fin de votre fichier:

# vim:set nolist:

Il existe sûrement une solution à base de code dans le vimrc, pour exécuter cette commande à chaque lancement de fichier .otl, mais comme je suis une moule j'ai eu la flemme de la chercher.

Liens externes