Checkboxes: vo_checkbox What is it? : Checkboxes is a plugin for project, task and list managment. It add an : understanding of check boxes and percentage of task completion to Vim : Outliner. It adds just three tags and six commands. Installation This should already be included in your Vim Outliner package If not, get it The newest, stable version is here: www.vimoutliner.org Get the newest, possibly unstable vo_checkbox.vim CVS server: :pserver:anonymous@red.noels-lab.com:2401/usr/local/cvsroot (no password is required) Web: http://red.noels-lab.com/cgi-bin/cvsweb.cgi/ VimOutliner mailing list Put it where you put your other vim scrips perhaps this is ~/.vimoutliner/experimental/plugins/ perhaps this is ~/.vimoutliner/ Perhaps this is something entirely different Add this line to your ~/.vimoutlinerrc so /vo_checkbox.vim The Checkbox Tags [_] an unchecked item or incomplete task [X] a checked item or complete task % a placeholder for percentage of completion The Checkbox Commands : The default for Vim Outliner is ,, so we will use this : leader in the command discussions. ,,cb Create a check box : This works for the current heading or selected range of lines : including folds. Visual selection of the range of headings works : nicely. This command is currently not aware of body text. This : limited awareness needs to be fixed before this plugin can be : included in the standard Vim Outliner plugins. ,,cB Create a check box (even if one exists) ,,c% Create a checkbox and % symbol : This works just like ,,cb but add a % symbol for use in completion : calculations. ,,cx Change check box state : If there is a checkbox on the line the cursor is on, change its : state. If it's checked, uncheck it and vice-versa. Then recompute : the completion of the entire branch starting from the root parent. ,,cd Delete a checkbox : Delete the left-most check box on the selected heading(s). ,,cz Compute completion : Starting at the heading the cursor is on, recursively compute the : completion level of all sub-headings. How do I use it? Start with a simple example : Let's start with planning a small party; say a barbeque. Make the initial outline Barbeque Guests Bill and Barb Larry and Louise Marty and Mary Chris and Christine David and Darla Noel and Susan Food Chicken Ribs Corn on the cob Salad Desert Beverages Soda Iced Tea Beer Party Favors Squirt guns Hats Name tags Materials Paper Plates Napkins Trash Containers Add the check boxes : This can be done by visually selecting them and typing ,,cb. : When done, you should see this: [_] Barbeque [_] Guests [_] Bill and Barb [_] Larry and Louise [_] Marty and Mary [_] Chris and Christine [_] David and Darla [_] Noel and Susan [_] Food [_] Chicken [_] Ribs [_] Corn on the cob [_] Salad [_] Desert [_] Beverages [_] Soda [_] Iced Tea [_] Beer [_] Party Favors [_] Squirt guns [_] Hats [_] Name tags [_] Materials [_] Paper Plates [_] Napkins [_] Trash Containers Now check off what's done : Checking off what is complete is easy with the ,,cx command. : Just place the cursor on a heading and ,,cx it. Now you can see : what's done as long as the outline is fully expanded. [_] Barbeque [_] Guests [X] Bill and Barb [X] Larry and Louise [X] Marty and Mary [X] Chris and Christine [X] David and Darla [X] Noel and Susan [_] Food [X] Chicken [X] Ribs [_] Corn on the cob [_] Salad [X] Desert [_] Beverages [_] Soda [X] Iced Tea [X] Beer [_] Party Favors [_] Squirt guns [_] Hats [_] Name tags [_] Materials [X] Paper Plates [_] Napkins [X] Trash Containers Getting more advanced Now summarize what's done : You can summarize what is done with the ,,cz command. Place the : cursor on the 'Barbeque' heading and ,,cz it. The command will : recursively process the outline and update the check boxes of : the parent headlines. You should see: : (Note: the only change is on the 'Guests' heading. It changed : because all of its children are complete.) [_] Barbeque [X] Guests [X] Bill and Barb [X] Larry and Louise [X] Marty and Mary [X] Chris and Christine [X] David and Darla [X] Noel and Susan [_] Food [X] Chicken [X] Ribs [_] Corn on the cob [_] Salad [X] Desert [_] Beverages [_] Soda [X] Iced Tea [X] Beer [_] Party Favors [_] Squirt guns [_] Hats [_] Name tags [_] Materials [X] Paper Plates [_] Napkins [X] Trash Containers Add percentages for a better view : You can get a much better view of what's going on, especially : with collapsed headings, if you add percentages. Place a % on : each heading that has children like this: [_] % Barbeque [X] % Guests [X] Bill and Barb [X] Larry and Louise [X] Marty and Mary [X] Chris and Christine [X] David and Darla [X] Noel and Susan [_] % Food [X] Chicken [X] Ribs [_] Corn on the cob [_] Salad [X] Desert [_] % Beverages [_] Soda [X] Iced Tea [X] Beer [_] % Party Favors [_] Squirt guns [_] Hats [_] Name tags [_] % Materials [X] Paper Plates [_] Napkins [X] Trash Containers Now compute the percentage of completion : After adding the % symbols, place the cursor on the 'Barbeque' : heading and execute ,,cz as before. Keep in mind that the : recursive percentages are weighted. You should see: [_] 58% Barbeque [X] 100% Guests [X] Bill and Barb [X] Larry and Louise [X] Marty and Mary [X] Chris and Christine [X] David and Darla [X] Noel and Susan [_] 60% Food [X] Chicken [X] Ribs [_] Corn on the cob [_] Salad [X] Desert [_] 66% Beverages [_] Soda [X] Iced Tea [X] Beer [_] 0% Party Favors [_] Squirt guns [_] Hats [_] Name tags [_] 66% Materials [X] Paper Plates [_] Napkins [X] Trash Containers Complete a few more just for fun : Mark Salad and Soda and recompute with ,,cz and you should : see the ouline below. : : Try plaing around with zc and zo to see the effects of opening : and closing folds. Even if you place the cursor on 'Barbeque' : and zo it, you still have a good understanding of how complete : the project is. [_] 69% Barbeque [X] 100% Guests [X] Bill and Barb [X] Larry and Louise [X] Marty and Mary [X] Chris and Christine [X] David and Darla [X] Noel and Susan [_] 80% Food [X] Chicken [X] Ribs [_] Corn on the cob [X] Salad [X] Desert [X] 100% Beverages [X] Soda [X] Iced Tea [X] Beer [_] 0% Party Favors [_] Squirt guns [_] Hats [_] Name tags [_] 66% Materials [X] Paper Plates [_] Napkins [X] Trash Containers Limitations Body text is not yet supported : ,,cb will falsely add a check box to body text.