Como uso o inoremap com vários caracteres?

1

Eu sou novo na personalização do ViM. Estou quase terminando de fazer o autocompletar para funcionar como gostaria. Aqui está a linha de interesse:

inoremap <expr> i (pumvisible() ? '' : 'i<C-n>') . '<Down>'

Observe que ele captura i e depois ainda o digita (e depois envia <C-n> ). Eu gostaria que isso funcionasse como uma expressão regular. Como posso fazer isso funcionar com qualquer caractere de palavra? Eu prefiro não ter várias cópias de cada um para um personagem diferente.

    
por Tyler Crompton 04.12.2012 / 09:13

1 resposta

2

Não há curingas nos mapeamentos; você teria que criar todos esses mapeamentos com um loop:

for i in split('abcdefg...', '\zs')
    execute printf("inoremap <expr> %s (pumvisible() ? '' : '%s<C-n>') . '<Down>'", i, i)
endfor

Por favor, note que existem plugins que atingem o preenchimento automático enquanto você digita (o que você parece tentar aqui); Eu uso AutoComplPop - Abre automaticamente o menu de contexto para as conclusões

    
por 04.12.2012 / 09:34