Giter Site home page Giter Site logo

mihaibirsan / todo.vim Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 126 KB

Even though I love Todoist, I often find myself creating todo.txt files because they're very flexible and easy to work with. Over the last few years, I've evolved a todo.txt file format, with syntax highlighting and a few keyboard shortcuts.

Vim Script 100.00%

todo.vim's Introduction

todo.vim

Even though I love Todoist, I often find myself creating todo.txt files because they're very flexible and easy to work with. Over the last few years, I've evolved a todo.txt file format, with syntax highlighting and a few keyboard shortcuts. — Edit

This filetype is automatically applied to files that have the filename pattern *todo*.txt.

Concepts

Categories

Lines starting with >> mark the beginning of a category. These are groups of tasks that have whatever you want in common.

You can move with [[, [] to the beginning of a category backwards or forwards. Also, ]], ][ moves to the end of each category (the last line).

Markdown Categories

Sometimes a category may just contain notes, and it's more useful to have it highlighted as markdown. Categories that have ## following the >> and some option whitespace will be highlighted as markdown.

Tasks

Every line in the todo list is considered a task. A special symbol at the beginning of the list denotes the status of a task.

Symbol Meaning Keyboard Shortcut
completed Enter
discarded Ctrl+Enter
next Ctrl+N
soon Ctrl+X
~ postponed

Using a keyboard shortcut on a task that already has a status will first remove that status. You will have to press again to assign a new status.

Sub-Tasks

Tasks can be indented to for sub-tasks. Though tasks at the beginning of the line may omit the delimiter, sub-tasks must have a * preceded (a star followed by a space). The star would be replaced by the status symbol when operating with the keyboard shortcuts.

Status affects the way sub-tasks are displayed. A completed or discarded parent task will shade all sub-tasks, for example.

Tags

Words beginning with @ within a task are considered tags and are shown in a different color.

Highlights

In addition to status, whole tasks can be highlighted by using a symbol at the beginning of the line, either before or after the status. These highlights supercede status-based formatting. You can find different meanings for these, depending on context.

Symbol Tentative Meaning
+ added / positive
- removed / negative
@ expanded below / reference

Tested with Vader

  1. Install vader.vim
  2. Run :Vader test/*.vader to run all tests

todo.vim's People

Contributors

mihaibirsan avatar

Stargazers

Adam Wagner avatar  avatar Cezar Andrici avatar Mircea Pricop avatar

Watchers

 avatar James Cloos avatar

todo.vim's Issues

Colorscheme issues

Currently, the plugin is almost exclusively specifying GUI colors that only work well on a dark color scheme. It's being developed with an old version of jellybeans.vim.

Ideally, the plugin would reuse colors as much as possible and when it has to specify new colors they would be defined with term and cterm in mind, as well as light color schemes.

Markdown fenced languages don't work

Inside of Markdown categories (starting with >> ##) one could specify code blocks with fenced languages, such as

    ```javascript
    function truth() { return true; }
    ```

However, even when the markdown plugin seems to be properly configured, it's inclusion in todo.vim doesn't support further fencing. (Fencing does work, for example, in an .md file.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.