Note: because of this, TodoComplete is now known as todo#Complete, you might need to update your vimrc.
137 lines
4.5 KiB
Plaintext
137 lines
4.5 KiB
Plaintext
*todo.txt*
|
|
|
|
Note: Since v0.7.3, `TodoComplete` is `todo#Complete`, you might need to
|
|
update your vimrc.
|
|
|
|
==============================================================================
|
|
COMMANDS *todo-commands*
|
|
|
|
`<LocalLeader>s` : Sort the file by priority
|
|
|
|
`<LocalLeader>s+` : Sort the file on +Projects
|
|
|
|
`<LocalLeader>s@` : Sort the file on @Contexts
|
|
|
|
`<LocalLeader>s@` : Sort the file on due dates
|
|
|
|
`<LocalLeader>sc` : Sort the file by context then by priority
|
|
|
|
`<LocalLeader>scp` : Sort the file by context, project then by priority
|
|
|
|
`<LocalLeader>sp` : Sort the file by project then by priority
|
|
|
|
`<LocalLeader>spc` : Sort the file by project, context then by priority
|
|
|
|
`<leader>-sd` : Sort the file by due-date. Entries with a due date appears
|
|
sorted by at the beginning of the file, the rest of the file is not modified.
|
|
|
|
`<LocalLeader>j` : Lower the priority of the current line
|
|
|
|
`<LocalLeader>k` : Increase the priority of the current line
|
|
|
|
`<LocalLeader>a` : Add the priority (A) to the current line
|
|
|
|
`<LocalLeader>b` : Add the priority (B) to the current line
|
|
|
|
`<LocalLeader>c` : Add the priority (C) to the current line
|
|
|
|
`<LocalLeader>d` : Insert the current date
|
|
|
|
`date<tab>` : (Insert mode) Insert the current date
|
|
|
|
`due:` : (Insert mode) Insert `due:` followed by the current date
|
|
|
|
`DUE:` : (Insert mode) Insert `DUE:` followed by the current date
|
|
|
|
`<LocalLeader>x` : Toggle mark task as done (inserts or remove current date as
|
|
completion date)
|
|
|
|
`<LocalLeader>X` : Mark all tasks as completed
|
|
|
|
`<LocalLeader>D` : Move completed tasks to done file, see |todo-flexibleFileNaming|
|
|
|
|
`<LocalLeader>` is \ by default, so ̀`<LocaLeader>-s` means you type \s
|
|
|
|
===============================================================================
|
|
CONFIGURATION *todo-configuration*
|
|
|
|
The user can give argument for the two calls to vim sort function by changing
|
|
the following variables:
|
|
|
|
g:Todo_txt_first_level_sort_mode
|
|
g:Todo_txt_second_level_sort_mode
|
|
|
|
Defaults values are:
|
|
|
|
>
|
|
g:Todo_txt_first_level_sort_mode="i"
|
|
g:Todo_txt_second_level_sort_mode="i"
|
|
<
|
|
|
|
For more information on the available flags see help :sort
|
|
|
|
We also provide a nice complete function for project and context, to use it
|
|
add the following lines to your vimrc:
|
|
>
|
|
" Use todo#Completete as the omni complete for todo files
|
|
au filetype todo setlocal omnifunc=todo#Complete
|
|
<
|
|
|
|
You can also start automatically the completion when entering '+' or '@' by
|
|
adding the next lines to your vimrc:
|
|
>
|
|
" Auto complete projects
|
|
au filetype todo imap <buffer> + +<C-X><C-O>
|
|
|
|
" Auto complete contexts
|
|
au filetype todo imap <buffer> @ @<C-X><C-O>
|
|
<
|
|
To force completed task to be moved to a file independently from the current
|
|
file name, add the following to your vimrc:
|
|
>
|
|
let g:TodoTxtForceDoneName='done.txt'
|
|
<
|
|
For more explanations, see |todo-flexibleFileNaming|
|
|
|
|
===============================================================================
|
|
COMPLETION *todo-complete*
|
|
|
|
The `todo#Complete`te function is designed to complete projects (starting by '+')
|
|
and context (starting by '@'). If you use it on a regular word, it will do a
|
|
normal keyword completion (on all buffers).
|
|
If you try to complete a project, it will propose all projects in all open
|
|
buffers and for each of them, it will show their context and the name of the
|
|
buffers in which they appears in the preview window.
|
|
TodoCompelte does the same thing for context except that it gives in the
|
|
preview the list of projects existing in each existing contexts.
|
|
|
|
===============================================================================
|
|
FLEXIBLE FILE NAMING *todo-flexibleFileNaming*
|
|
|
|
This plugin provides a Flexible file naming for todo.txt, all the following
|
|
names are recognized as todo:
|
|
>
|
|
YYYY-MM-[Tt]odo.txt
|
|
YYYY-MM-DD[Tt]odo.txt
|
|
[Tt]odo-YYYY-MM.txt
|
|
[Tt]odo-YYYY-MM-DD.txt
|
|
[Tt]odo.txt
|
|
[Tt]oday.txt
|
|
<
|
|
And obviously the same are recognize as done:
|
|
>
|
|
YYYY-MM-[Dd]one.txt
|
|
YYYY-MM-DD[Dd]one.txt
|
|
[Dd]one-YYYY-MM.txt
|
|
[Dd]one-YYYY-MM-DD.txt
|
|
[Dd]one.txt
|
|
[Dd]one-[Tt]oday.txt
|
|
<
|
|
Moreover, remove complete tasks `<LocalLeader>D` moves the task to the
|
|
done.txt file corresponding to the current todo.txt, aka if you are editing
|
|
2015-07-07-todo.txt, the done file while be 2015-07-07-done.txt. If you don't
|
|
like this behavior, you can set the default done.txt name:
|
|
>
|
|
let g:TodoTxtForceDoneName='done.txt'
|
|
<
|