Tuesday, October 2, 2012

Re: Mapping for visual mode that starts from insert mode?

On Monday, October 1, 2012 9:53:40 PM UTC-5, WU Yue wrote:
> Hi, I know title is unclear, but my English skill is so limited, forgive
>
> me please, I will try my best to make my expression more clear.
>
>
>
> I have set mouse=a, so I can drag mouse to start a selection in
>
> normal/insert mode, I notice that when start selection in normal mode, the
>
> status line will show: -- VISUAL --, when start selection in insert mode,
>
> the status line will show: -- (insert) VISUAL --.
>
>
>
> When I have selection in insert mode, I often want to replace/delete the
>
> seleciton, but I don't have this need for the selection starting from
>
> normal mode, so my question is, how to make <key>s and <backspace> can
>
> replace/delete the selection *only* when starts from insert mode.
>
>
>
> I don't know if it's clear now, thank you!
>

The visual mode started from insert mode with the mouse is actually "selection" mode, which is slightly different. Luckily you can map this "selection" mode separately from normal visual mode.

Visual mode: xmap, xnoremap
Selection mode: smap, snoremap
Both: vmap, vnoremap

:help select-mode-mapping
:help mapmode-x

Actually, using vmap and vnoremap is normally a mistake, since in selection mode pressing any key with a printable character will replace the selection with that character and drop into insert mode. I'm actually surprised that <Backspace> doesn't already delete the selection...I may map it to <Del> myself.

(I learned these things on this very list, by the way).

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

No comments: