forked from jlxz/TaskVim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.txt
246 lines (164 loc) · 8.52 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
*taskvim* TaskVim file-type plugin and syntax file
Jose Luis Diaz Gonzalez <[email protected]>
10th February 2012
[TaskVim](http://skitch.com/joseluisdgz/8ytar/taskvim)
==============================================================================
ABOUT *taskvim-about*
TaskVim is inspired by Taskpaper: simple to-do list in plain text. You can group your tasks in projects or areas and keep it simple.
I love plain text, I love colors (rather than just black on white) and I have multiples OSs (at home, at work, mobility). So after tried a lot of productivity systems and apps, I always come back to a simple list (in a plain txt) of tasks grouped in projects or areas of my life. And the best multiplatform text editor I know is Vim.
TaskVim is a task manager with some more advanced functionalities than just simple text, based on concepts from Taskpaper (and GTD system as well), implemented on GVim (multiOS), using syntax coloring to highlight the status (and elements) of your tasks and always kept in a simple txt file.
My goal is to define a system totally flexible. Offering enough elements to help you to adapt taskvim to the way you handle your tasks.
The coding part is inspired, learned, copied and modified from the taskpaper plugin for vim by David O'Callaghan <[email protected]>, published under GNU license.
TaskPaper website http://hogbaysoftware.com/projects/taskpaper
Taskpaper vim plugin website http://www.vim.org/scripts/script.php?script_id=2027
and also on github https://github.com/davidoc/taskpaper.vim
==============================================================================
INSTALLATION *taskvim-installation*
Unpack the archive to ~/.vim.
It contains the following files:
doc/taskvim.txt
doc/taskvim_licence.txt
ftplugin/taskvim.vim
syntax/taskvim.vim
ftdetect/taskvim.vim
To access this help file from within Vim you must first update your help
tags:
:helptags ~/.vim/doc
To access the TaskVim help execute this command:
:help taskvim
==============================================================================
SYNTAX *taskvim-syntax*
You have 3 main elements:
- Projects:
- Tasks:
- Notes:
The syntax file highlights all these elements with the predefined colors of the colorscheme you have configured in your vimrc.
# PROJECTS:
To define a project write some text at the begining of a line ending in a colon.
Example:
TaskVim vim plugin:
— sometask
— another task
# TASKS:
A task is a line beginning with '-' or '—'
If you press 'o' or '<cr>' on a task line, it will create a new task in the next line.
A task can have several subelements to add additional information to that task:
- code
- tag/context
- date
- version
To classify your tasks you could use a Project header, a code, or a tag.
## Code:
You can assign a code to a task. A code can help you to classify that task into a project, an area of your life, some event, etc.
To assign a code to a task, type a non-spaced code at the beginning of the task ending in a colon.
Example:
TaskVim vim plugin:
— prj_taskvim: write doc file
— prj_taskvim: upload updates to github
## Tag:
A tag has the form "@tag"
Example:
TaskVim vim plugin:
— prj_taskvim: write doc file @write
— prj_taskvim: upload updates to github @github
## Date:
The date when you want to schedule that task or whatever meaning you want to give to that date.
The date is freeform. By now it's just simple text preceded by a hash
Examples:
#mon - schedule for next monday
#saturday - schedule for next saturday
#03162012 - ...
#March16th - whatever format you want to use for your dates
TaskVim vim plugin:
— prj_taskvim: write doc file #friday @write
— prj_taskvim: upload updates to github #tomorrow @github
## Version:
If you are a programmer (professional or amateur) you can link some task to a version of your app, script, service, whatever.
Examples:
v0.1
v5.4
v15.56 - just the format vXY.WZ
TaskVim vim plugin:
— prj_taskvim: write doc file #friday @write
— prj_taskvim: v0.3 upload updates to github #tomorrow @github
A Task can have four different states:
- Normal Task
- Important Task
- Completed Task
- Waiting Task
## Important Task
An important task is a line beginning with '>' and can have zero or more context tags.
Example:
TaskVim vim plugin:
> prj_taskvim: write doc file #friday @write
— prj_taskvim: v0.3 upload updates to github #tomorrow @github
## Completed Task
A completed task is a line beginning with '+'.
Example:
TaskVim vim plugin:
+ prj_taskvim: write doc file #friday @write
— prj_taskvim: v0.3 upload updates to github #tomorrow @github
## Waiting Task
A waiting task is a line beginning with '?'.
Example:
TaskVim vim plugin:
+ prj_taskvim: write doc file #friday @write
? prj_taskvim: v0.3 upload updates to github #tomorrow @github
NOTES:
Other text is considered as a "note".
Example:
TaskVim vim plugin:
A note about taskvim or something.
+ prj_taskvim: write doc file #friday @write
? prj_taskvim: v0.3 upload updates to github #tomorrow @github
==============================================================================
FILETYPE PLUGIN *taskvim-ftplugin*
The file-type plugin tries to make editing TaskVim files in Vim more
comfortable.
The plugin defines some new mappings.
Now you can fold your projects. A Project region includes from Project header to next blank line.
Now the mappins depends on the platform you are using (trying to be more os-friendly):
If you are using MacVim:
<Leader>2 Mark task done
<Leader>3 Mark task as important
<Leader>4 Mark task as waiting
The default setting for the 'mapleader' variable is backslash ('\'). You can config other mapleader (most common and productive is ',').
If you are using GVim in other platforms:
F2 Mark task as done
F3 Mark task as important
F4 Mark task as waiting
The plugin now auto saves your taskvim file when your window editor loses focus. So if you are editing your tasks, and then you start doing anything else, your changes are saved automatically and silently.
==============================================================================
DEFAULT CONFIG *taskvim-config*
The plugin configure the next vim options to manage list in a better way:
* added — (DASH EM) as a comment
* added @ as a keyword
* formatoptions=qro1
* textwidth=0 and wrapmargin=0 to avoid hard-wrap on list items
* autoindent
==============================================================================
FILETYPE DETECT *taskvim-ftdetect*
This package also contains a script to automatically use the TaskVim file
type for all files with the format <filename>.taskvim.txt
The reason to keep the main extension as txt instead of taskvim is for compatibility purposes, so you can use your taskvim lists in any app that just supports txt files.
This filetype detect script is based on Taskpaper plugin from David O'Callaghan <[email protected]>
==============================================================================
LICENCE *taskvim-licence*
Copyright (C) 2012 by Jose Luis Diaz Gonzalez
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
==============================================================================
REPORTING BUGS AND FEATURE REQUESTS *taskvim-bugs*
Taskvim uses github for bug tracking. Go to
http://github.com/joseluisdgz/taskvim/issues to report any issues.
The latest version of the script is always available on github:
http://github.com/joseluisdgz/taskvim