Vim e memória muscular

3

Eu fiz no meu vimrc uma abreviação porque eu quero apenas escrever "foo" para escrever "bar", e depois eu mapeei "bar" para "NOPE" para que eu fosse punido se eu tentasse escrever diretamente "bar" ".

iabbrev foo bar
inoremap bar NOPE

O resultado é quando eu escrevo "foo", o vim substitui por "NOPE". Como posso trabalhar na minha memória muscular e me punir se eu escrever "bar", porque a maneira como eu fiz isso parece não funcionar? Note que eu normalmente não quero digitar "bar" sozinho, mas "bar {}", e daí uma abreviação como "iabbrev bar NOPE" não funcionaria para mim.

    
por Florian 14.02.2015 / 17:14

1 resposta

0

Ao tentar isso, eu achei que a barra de digitação iria substituir, mas o barf não. O f é um tipo diferente de caractere de {.

Se você adicionar {a caracteres que não sejam de palavra-chave por :set iskeyword+={ , isso funcionará. Isso pode ter outras conseqüências, conforme descrito por :help iskeyword .

Outra maneira pode ser escrever uma função conforme descrito em :help abbreviations .

    
por grantbow 17.04.2015 / 18:14

Tags