Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Pull request Compare This branch is 1 commit ahead, 9 commits behind samsonw:master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Basically, this is the TextMate Tasks Bundle port for Vim.


Vim-Task with Monaco font

Vim-Task with Monaco font

Vim-Task with Consolas font (which support bold & italic)

Vim-Task with Consolas font


Normal installation steps follow the vim tradition: download the zip/tar archive then copy all the directories/files to ~/.vim directory. You can download vim-task zip/tar archive by clicking the “Download Source” button in github.

You can also check out the latest code if you have git installed:

$ git clone git://
$ cd vim-task
$ rm README.mkd
$ cp -rv * ~/.vim

For those guys who use pathogen, the installation should be as simple as a git clone: $ cd ~/.vim/bundle $ git clone git://

unfortunately ftdetect directory seems not take effect in pathogen, I’m still wondering about why, but anyway here is a temporary workaround for now: $ mkdir -p ~/.vim/ftdetect $ cd ~/.vim/ftdetect $ ln -s ../bundle/vim-task/ftdetect/task.vim task.vim

Shortcut Key, Key Binding & Customization

By default, I mapped Ctrl+Command+Enter for toggling task status, you can simply remap to what’s the most comfortable for you:

inoremap <silent> <buffer> <C-D-CR> <ESC>:call Toggle_task_status()<CR>i
noremap <silent> <buffer> <C-D-CR> :call Toggle_task_status()<CR>

Note, if you find the key binding doesn’t work as expect, please make sure your vim instance was compiled with the +ruby feature.

$ vim --version | grep +ruby
-python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent

File Format & Syntax

The Tasks grammar and commands by default apply to file todo.txt and files with the .task and .tasks extensions. You can customize this by editing ftdetect/task.vim:

autocmd BufNewFile,BufRead todo.txt,*.task,*.tasks  setfiletype task

All the formats and syntax is similar with the TextMate Tasks bundle, I just quoted below for your references:

Headers end with a colon (“:”).
Pending (uncompleted) tasks start with a hyphen (“-”). Completed tasks start with a checkmark (“✓”).
Headers and tasks can be indented for grouping/hierarchy, as seen in the screenshot above. 

Bug & Feedback

Please report bugs and issues to github:, any feedback and suggestion is welcome and appreciated.

Something went wrong with that request. Please try again.