terça-feira, 24 de março de 2009

Definindo uma mapeamento para um modo específico

O comando
:map 
define mapeamentos para o modo normal, visual e operador-pendente.

Para o modo inserção use:
:imap
Exemplo:
:imap <F2> <CR>Date: <Esc>:read !date<CR>kJ
Eis os comandos e os modos que operam:
:map - normal, visual, operador-pendente
:vmap- visual
:nmap- normal
:omap- operador-pendente
:map!- inserção e linha de comando
:imap- inserção
:cmap- linha de comando

O modo operador-pendente é quando um comando como 'd' fica esperando um comando
de movimento.

Exemplos.
Copiar a seleção visual para o registrador 'v':
:map <F5> “vy
Isto mapeia <F5> para os modos normal, visual e operador-pendente. No entanto,
você quer que o mapeamento seja válido somente no modo visual:
:vmap <F5> “vy
Agora suponha que você quer <F7> para que um comando como d<F7> delete um bloco
de um programa C (texto entre chaves, {}). De maneira similar, y<F7> iria copiar
o bloco para o registrador sem-nome.
Portanto, <F7> deveria selecionar o bloco corrente do programa:
:omap <F7> a{
Isto fará <F7> selecionar um bloco (a{) no modo operador-pendente.

0 comentários:

Postar um comentário