If I am in the middle of the function, I would like go to the very end of it in vim. I run into this problem as we sometimes have function of 500+ lines long (don\'t ask why).
][ or [] will do this for you.
Make sure you're using :split and code folding to your advantage - keep a folded view at the top of the screen, unfold a function, split, edit the function, close the split window, collapse the fold.
You can use the "]}" command. You may have to repeat it depending on how nested you are.
SHIFT+5 toggles between { and }. You can use it to identify the top most block of code.
][
goes to the next '}' in the first column.
Read :help 29.3
to find out more about moving through a program.