Restructured text (ReST) is a plaintext markup format. I find it great for documentation and note-taking, and it plays nice with revision control, such as git.
One thing that gets a little tedious is underlining for sections. When you create a section title, the number of (nonalphanumeric 7-bit ASCII) characters underlining the title must match the number of characters in the title. For example, a section called "My Section" would need 10 "-" on the next line, assuming you're using dashes.
Using vim as an editor, you have three options for inserting the dashes. You could:
<esc>10i-<esc> (insert ten dashes).
(Naturally, it should be defined in your vimrc file)
function ReST_Extend_Line()
let cur = getline(".")
let prev = getline( line(".") - 1 )
return repeat ...