quinta-feira, 9 de abril de 2009

Tornando flexível a escolha das teclas num mapeamento do plugin

O plugin irá definir um mapeamento que permite adicionar uma correção para
a palavra sob o cursor. Poderia pegar um sequencia de teclas, mas o usuário
poderia já te-la pega para outra coisa.

Para permitir que o usuário defina quais teclas o plugin usará no mapeamento use
o item <Leader>:
22 map <unique> <Leader>a <Plug>TypecorrAdd
O usuário pode definir a variável 'mapleader' com a sequencia de teclas que ele
quer que esse mapeamento comece. Assim se o usuário tiver:
let mapleader = "_"
O mapeamento será definido como '_a'. Se o usuário não fizer isso, o valor
default será usado '\' (backslash) e o mapeamento será '\a'.

Mas se o usuário quiser definir a sua própria sequencia completa de teclas? Pode
permitir isso com:
21 if !hasmapto('<Plug>TypecorrAdd')
22 map <unique> <Leader>a <Plug>TypecorrAdd
23 endif
Isto verifica se um mapeamento para '<Plug>TypecorrAdd' existe e somente define
o mapeamento para '<Leader>a' se ele não existe. O usuário então tem a chance de
por isso em seu 'vimrc':
map ,c <Plug>TypecorrAdd
Então sequencia de teclas mapeada será ',c' ao invés de '_a' ou '\a'.

0 comentários:

Postar um comentário