Tip 223 Printable Monobook Previous Next
created March 11, 2002 · complexity basic · author scott urban · version 5.7
Suppose you want to reverse some text - I don't know why you would want to - maybe you're dyslexic. Anyway, I had a need, so this mapping will reverse visually selected text. Put the mapping in your vimrc or otherwise source it, then visually select the word or words, and hit ;rv - really only works with selections on one line:
vnoremap ;rv c<C-O>:set revins<cr><C-R>"<esc>:set norevins<cr>
Comments
Interesting idea, but it will only work for those whose Vim has the +rightleft option. For those who don't have such a Vim, use "ma" to (mark a) and move the cursor to the last line to be affected, and:
" \fr: reverse the order of lines (vertical mirror) nmap \fr :set lz<CR>o<Esc>mz'aO<Esc>ma:'a+1,'z-1g/^/m 'a<CR>'addma'zdd:set nolz<CR> " \fR: mirror image the lines (horizontal mirror) nmap \fR :set lz<CR>o<Esc>mzkO<Esc>maj:s/./&\r/g<CR>:'a+1,'z-1g/^/m 'a<CR>:'a+1,'z-1j!<CR>'add'zddk:set nolz<CR>
I use it in my work to reverse the order of 1000 groups of parameters which improves the program performance. Thanks.