Como desativar a chave de chamada no modo de inserção do vim

5

Eu mapeei a chave leader no vim para <Space> e defini timeoutlen para 250 para ter tempo de usar atalhos com a chave leader .

Mas, isso é irritante no modo de inserção, porque quando eu atingi o espaço, há um pequeno atraso antes que o espaço seja adicionado (embora eu não tenha definido uma ligação usando a tecla de comando no modo de inserção) e às vezes uso um atalho sem significado para.

Existe uma maneira de desativar a chave de chamada no modo de inserção?

Obrigado pela sua ajuda.

    
por antoyo 26.07.2015 / 00:46

1 resposta

7

A chave de líder não é especial : se você não a usa em nenhum mapeamento, ela funciona exatamente como qualquer outra chave.

Pense em <leader> como algum tipo de constante que é automaticamente expandida para seu valor atual quando é usada. Quando o Vim origina seu vimrc e vê algo como:

nnoremap <leader>b :ls<CR>:b

usará o valor atual de mapleader e, na verdade:

nnoremap <Space>b :ls<CR>:b

O que causa o atraso que você está observando é o fato de que <Space> é usado (via o mecanismo <leader> no seu caso) no início de um mapeamento no modo de inserção: Vim está simplesmente esperando um pouco para ver se você realmente deseja inserir um <Space> ou acionar um dos mapeamentos do modo de inserção registrados começando com <Space> .

Para ver quais mapeamentos do modo de inserção usam seu <leader> e de onde eles vêm, faça:

:verbose imap <leader>

Se o culpado for definido por um plug-in, procure em sua documentação uma forma de desmapear.

    
por 26.07.2015 / 10:39

Tags