Vim Tips Wiki
(Remove html character entities)
(→‎Comments: corrected cmd line option --versions to --version)
Tag: Visual edit
 
(One intermediate revision by one other user not shown)
Line 4: Line 4:
 
|previous=711
 
|previous=711
 
|next=713
 
|next=713
|created=May 6, 2004
+
|created=2004
 
|complexity=basic
 
|complexity=basic
 
|author=David Fishburn
 
|author=David Fishburn
Line 12: Line 12:
 
|category2=
 
|category2=
 
}}
 
}}
Simply enable visual mode (v), highlight the characters you want inverted, and hit <tt>\is</tt>.
+
Simply enable visual mode (v), highlight the characters you want inverted, and hit <code>\is</code>.
   
For a single word you can use <tt>vw</tt> (or <tt>viw</tt>):
+
For a single word you can use <code>vw</code> (or <code>viw</code>):
 
<pre>
 
<pre>
 
viw\is
 
viw\is
Line 31: Line 31:
   
 
==Comments==
 
==Comments==
If your Vim has +rightleft (check vim --versions), the following visual mode map does the job:
+
If your Vim has +rightleft (check vim --version), the following visual mode map does the job:
 
vmap <Leader>fR c<C-O>:set ri<CR><C-R>"<Esc>:set nori<CR>
 
vmap <Leader>fR c<C-O>:set ri<CR><C-R>"<Esc>:set nori<CR>
   

Latest revision as of 10:33, 7 October 2014

Tip 712 Printable Monobook Previous Next

created 2004 · complexity basic · author David Fishburn · version 5.7


Simply enable visual mode (v), highlight the characters you want inverted, and hit \is.

For a single word you can use vw (or viw):

viw\is
vnoremap <silent> <Leader>is :<C-U>let old_reg_a=@a<CR>
 \:let old_reg=@"<CR>
 \gv"ay
 \:let @a=substitute(@a, '.\(.*\)\@=',
 \ '\=@a[strlen(submatch(1))]', 'g')<CR>
 \gvc<C-R>a<Esc>
 \:let @a=old_reg_a<CR>
 \:let @"=old_reg<CR>

Comments[]

If your Vim has +rightleft (check vim --version), the following visual mode map does the job:

vmap <Leader>fR c<C-O>:set ri<CR><C-R>"<Esc>:set nori<CR>

A map that reverses the sequence of lines (again, visual mode):

vmap <Leader>fr :<c-u>set lz<CR>'>o<Esc>'<O<Esc>V'>j:<c-u>'<+1,'>-1g/^/m '<<CR>'<dd'>dd:set nolz<CR>