I'm using:
" move current line up
imap [u <esc>:m .-2<CR>i
" move current line down
imap [d <esc>:m+<CR>i
But I'd like to keep the current cursor position, and I would like to expand the question to move up/down a block of text.
EDIT 1: for example:
The current line ->| need to move up is here
->|
is the cursor's position that we need to keep moving.