Como faço para usar o inoremap com vários caracteres?


1

Eu sou novo na customização de ViM. Estou quase terminando de fazer o preenchimento automático 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.

Respostas:


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 - automaticamente abre o menu de contexto para conclusões

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.