Vimium: Permitir que qualquer tecla seja mapeada para o "modo de saída" em vez de apenas<esc/>

Criado em 18 fev. 2011  ·  21Comentários  ·  Fonte: philc/vimium

Eu jj remapeei parano vim, pois é mais fácil de digitar. Seria possível fazer um remapeamento como este trabalho para sair do modo de inserção?

Obrigado

help-wanted verified

Comentários muito úteis

Reabrindo e removendo o rótulo _wont-fix_.

Este é realmente um recurso que é solicitado _muito_. Foi encerrado como parte de uma seleção de questões em aberto de longa data.

Todos 21 comentários

Sim, devemos ter um comando equivalente para escapar - isso seria útil.

Concordou.

Você também pode usar <C-[> no vim; é suportado imediatamente e de fato é considerado a mesma chave que <ESC> . Talvez pudéssemos adicionar isso em vez de introduzir outro mapeamento de comando.

Eu também consideraria esse recurso útil. Eu li que a tecla ESC nos teclados quando o vi foi escrito pela primeira vez estava mais perto de onde o q está agora, em vez de no canto. Isso faz sentido, já que chegar até a esquina com tanta frequência não é tão conveniente.

Alguma notícia sobre este assunto? É muito difícil de implementar? Para mim, é uma inconsistência entre o vim e o vimium, já que o vim é mapeado para jj para mim também.

Não é muito difícil. É um ótimo bug inicial se alguém quiser experimentar esse aprimoramento.

Queremos implementar isso apenas para o modo normal ou para todos os modos (como entrada e localização)? Se for o último, não vai ser tão simples.

Para ser consistente com qualquer remapeamento dedeve se aplicar a todos os modos. Por que seria particularmente difícil, além de garantir que os caminhos de código para cada modo referenciem a mesma var "exitKey"?

No momento, o código que permite a correspondência configurável de teclas com comandos está na página de fundo e só lida com pressionamentos de tecla no modo normal. O remapeamento das chaves é essencialmente feito alterando nossa 'tabela de roteamento' de chave para comando. Por outro lado, sair nos modos localizar ou inserir depende de um caminho de código de caso especial no script de conteúdo ( KeyboardUtils.isEscape ) que verifica explicitamente se o evento de pressionamento de tecla é o que consideraríamos um evento de 'escape', e a tecla pressionada nunca atinge a página de fundo. Para implementar esse bug, poderíamos a) fazer com que a página de fundo informasse aos scripts de conteúdo como um evento de 'escape' deveria ser ou b) fazer com que as teclas de registro da página de fundo fossem pressionadas mesmo nos modos de localizar e inserir, mas sem fazer nada a menos que seja um evento de 'escape', caso em que diz aos scripts de conteúdo para encerrar qualquer modo que esteja ativo no momento.

Sou a favor do último, pois acho mais elegante usar a mesma lógica de mapeamento de teclas configuráveis ​​para todos os modos. Além disso, isso abre a possibilidade de emular os comandos nmap e imap do Vim, por meio dos quais o usuário pode definir mapeamentos que estão ativos apenas nos modos normal ou de inserção, respectivamente.

Coisa boa. Obrigado pela redação. Talvez isso não seja fácil para um iniciante =)

Não tenho uma preferência forte, mas a primeira proposta parece mais fácil de implementar.

Eu gostaria de ver isso além dos comandos nmap e imap do Vim,

Tentei implementar isso no PR # 1140. Devido à natureza do modo de entrada, ele aceita apenas chaves únicas vinculadas a exitInsertMode .

+1

+1

👎

Olá @ smblott-github, estou apenas curioso para saber por que isso foi rotulado won't-fix ? Comecei a usar o modo de inserção com mais frequência com o Vimium (em vez de desabilitar o plugin para certas páginas), mas seria bom se as pessoas pudessem sair usando sua ligação preferida, no meu caso <C-c> .

Reabrindo e removendo o rótulo _wont-fix_.

Este é realmente um recurso que é solicitado _muito_. Foi encerrado como parte de uma seleção de questões em aberto de longa data.

Pessoal, vejam # 2253.

Muito obrigado, seus esforços são apreciados!

Gente, veja aqui . PR # 2253 atingiu um pequeno obstáculo. A entrada seria apreciada.

Fechando, veja este comentário .

Esta página foi útil?
0 / 5 - 0 avaliações