Vimium: Chave de escape capturada pelo Vimium

Criado em 6 mar. 2012  ·  28Comentários  ·  Fonte: philc/vimium

O Vimium captura o pressionamento de tecla para escapar, mesmo quando fora do modo de entrada. A maneira mais fácil de mostrar isso é no bate-papo do Facebook, onde você na versão antiga podia pressionar escape duas vezes e fechar o bate-papo.

Comentários muito úteis

Então, qual é a solução para isso?
Eu tentei adicionar map <c-]><esc> passNextKey bem como map <c-]> passNextKey , mas ainda não consigo Esc nas planilhas do google depois de editar uma célula.

Todos 28 comentários

Hm, na versão antiga, pressionar esc _uma vez_ fechava a janela de bate-papo, e muitas vezes eu não queria isso. Concordo que nunca ter a janela fechada também é um aborrecimento. Talvez devêssemos criar algum tipo de modo de passagem para isso.

A respeito, Esc - seria semelhante ao modo de passagem do Vim?

Que tal fazeruma espécie de mapeamento? Eu me encontrei definindo "desmapear" para tentar corrigir isso, planejando usar

Claro, não funcionou; mas isso foi intuitivo para mim.

+1 Para esta correção de bug, pois quebra a redução da seleção do editor de texto, como no CodeMirror Sublime

Deus, isso é chato, já me deparei com isso várias vezes agora. Seria legal se pudesse ser corrigido, sem http://stackoverflow.com/questions/12927752/keydown-keyup-events-not-detecting-the-escape-key-being-pressed-on-input-text-fi I estaria perdido.

Que comportamento você gostaria de ver em Esc ?

O Vimium não permite a propagação do limite de tecla Escape de nenhuma página da Web
eventos. Se você não estiver envolvido em uma atividade do Vimium (como f para encontrar o link)
então parece apenas inibir as habilidades do usuário.

Em terça-feira, 6 de janeiro de 2015 às 8h18, Stephen Blott [email protected]
escrevi:

Que comportamento você gostaria de ver em Esc?


Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/philc/vimium/issues/499#issuecomment -68870014.

O Vimium não permite a propagação do limite de tecla Escape de nenhuma página da Web
eventos

Mesmo?

Teste:

watch = (type) ->
  document.addEventListener type, (event) ->
    para = document.createElement "p"
    para.innerHTML = type
    document.body.appendChild para

watch "keydown"
watch "keypress"
watch "keyup"

Correndo aqui . Parece o mesmo para mim com ou sem Vimium.

Repetir...

Que comportamento você gostaria de ver em Esc?

Talvez seja útil se você puder nos indicar uma página específica, para que todos tenhamos um caso de uso específico em mente.

Estou vendo sua demonstração agora, este é especificamente um caso em que
quebras: http://codemirror.net/demo/sublime.html

Pode ter algo a ver com uma entrada focada.

Em terça-feira, 6 de janeiro de 2015 às 8h44, Stephen Blott [email protected]
escrevi:

O Vimium não permite a propagação do limite de tecla Escape de nenhuma página da Web
eventos

Mesmo?

Teste:

assistir = (tipo) ->
document.addEventListener tipo, (evento) ->
para = document.createElemento "p"
para.innerHTML = tipo
document.body.appendChild para

assista "keydown"
assistir "pressionar tecla"
assistir "keyup"

Executando aqui http://smblott.computing.dcu.ie/escape.html. Parece o
o mesmo para mim com ou sem Vimium.

Repetir...

Que comportamento você gostaria de ver em Esc?

Talvez fosse útil se você pudesse nos indicar uma página específica, então
todos nós temos um caso de uso específico em mente.


Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/philc/vimium/issues/499#issuecomment -68873282.

Tem a ver com uma entrada sendo focada.
http://codepen.io/ZombieHippie/pen/zxoXwW

Em terça-feira, 6 de janeiro de 2015 às 8h49, Cole Lawrence [email protected] escreveu:

Estou vendo sua demonstração agora, este é especificamente um caso em que
quebras: http://codemirror.net/demo/sublime.html

Pode ter algo a ver com uma entrada focada.

Em terça-feira, 6 de janeiro de 2015 às 8h44, Stephen Blott [email protected]
escrevi:

O Vimium não permite a propagação do limite de tecla Escape de nenhuma página da Web
eventos

Mesmo?

Teste:

assistir = (tipo) ->
document.addEventListener tipo, (evento) ->
para = document.createElemento "p"
para.innerHTML = tipo
document.body.appendChild para

assista "keydown"
assistir "pressionar tecla"
assistir "keyup"

Executando aqui http://smblott.computing.dcu.ie/escape.html. Parece o
o mesmo para mim com ou sem Vimium.

Repetir...

Que comportamento você gostaria de ver em Esc?

Talvez fosse útil se você pudesse nos indicar uma página específica, então
todos nós temos um caso de uso específico em mente.


Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/philc/vimium/issues/499#issuecomment -68873282.

Não tenho certeza do que você quer que eu faça.

Eu vou para qual página?
Eu faço o que?
O que acontece?
O que você quer que aconteça?

Desculpe a falta de explicação :-)

Se você for para minha caneta de código http://codepen.io/ZombieHippie/pen/zxoXwW que eu
inclua seu código escape.coffe, você verá diferenças entre
pressionando escape enquanto a entrada está focada e quando não está.

No codepen, clique na entrada para focar e compare os comportamentos de
pressionando Escape:

No Vimium: A entrada não perde o foco ao pressionar escape.
Vimium: A entrada perde o foco ao pressionar escape.

testado no Chrome 39

Em terça-feira, 6 de janeiro de 2015 às 8h56, Stephen Blott [email protected]
escrevi:

Não tenho certeza do que você quer que eu faça.

Eu vou para qual página?
Eu faço o que?
O que acontece?
O que você quer que aconteça?


Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/philc/vimium/issues/499#issuecomment -68874993.

Sim está certo. Porque, quando uma entrada é focada, o Vimium pega e usa Esc . Isso é uma característica.

Agora, o que você quer que aconteça? Uma possibilidade seria:

  • Se a página manipular Esc , o Vimium não.
  • Caso contrário, ele faz.

Mas há problemas com isso.

  • Atualmente, o Vimium lida com o Esc antes que a página tenha a chance de vê-lo. Isso é quase sempre a coisa certa a fazer. Se fosse de outra forma, o Vimium UX seria diferente em páginas diferentes.
  • Poderíamos esperar para ver se a página usa o evento. No entanto, não está claro se poderíamos detectar isso com segurança.

De fato, tomando o caso do CodeMirror, não temos como saber se o Esc foi manipulado ou não. Seu manipulador retorna true independentemente do que fez.

Eu posso ver onde esse recurso é (muito) desejável (se não for necessário para
navegação dedicada ao teclado), e não acho que haja uma
solução diferente das preferências ajustáveis ​​do usuário.

Em terça-feira, 6 de janeiro de 2015 às 9h16, Stephen Blott [email protected]
escrevi:

De fato, tomando o caso do CodeMirror, não temos como saber se
o Esc foi tratado ou não. Seu manipulador
https://github.com/codemirror/CodeMirror/blob/master/keymap/vim.js#L667
retorna true independentemente do que fez.


Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/philc/vimium/issues/499#issuecomment -68877784.

Mesmo se você pudesse dizer se o CodeMirror tratou seu evento Escape, nós
não teria uma maneira diferente de desfocar o CodeMirror via teclado.

Em terça-feira, 6 de janeiro de 2015 às 9h22, Cole Lawrence [email protected] escreveu:

Eu posso ver onde esse recurso é (muito) desejável (se não for necessário para
navegação dedicada ao teclado), e não acho que haja uma
solução diferente das preferências ajustáveis ​​do usuário.

Em terça-feira, 6 de janeiro de 2015 às 9h16, Stephen Blott [email protected]
escrevi:

De fato, tomando o caso do CodeMirror, não temos como saber se
o Esc foi tratado ou não. Seu manipulador
https://github.com/codemirror/CodeMirror/blob/master/keymap/vim.js#L667
retorna true independentemente do que fez.


Responda a este e-mail diretamente ou visualize-o no GitHub
https://github.com/philc/vimium/issues/499#issuecomment -68877784.

Sugira #1372 para isso, então <esc> pode ser uma chave de acesso.

Sugira #1372 para isso, entãopode ser uma chave de acesso.

Acho que não. Estamos no modo de inserção, então nenhum código de senha entra em jogo.

Acho que não.

Eu o projetei especificamente para este caso de uso, ele adiciona uma verificação de senha a exitInsertMode .

Ao usar a extensão do Hangouts, o Vimium evita pressionar Esc para fechar uma janela de bate-papo. Eu adicionaria uma regra de "URLs e chaves excluídas", mas não sei o "URL" da janela de bate-papo. Qual o melhor jeito de consertar isso? Obrigado.

Achei que ia funcionar, mas não...

  1. Abra chrome://extensions/ e clique em "Opções" na extensão do Hangouts
  2. observe a URL, algo como chrome- extension://sadkjfhaklsjdhfkjhasdfkjh/settingsdialog.html
  3. clique no botão Vimium
  4. remova settingsdialog.html da URL na primeira caixa, mantendo o *
  5. clique no botão Adicionar regra
  1. observe a URL, algo como chrome- extension://sadkjfhaklsjdhfkjhasdfkjh/settingsdialog.html
  2. clique no botão Vimium
  3. remova settingsdialog.html da URL na primeira caixa, mantendo o *

O Vimium não pode ser executado em URLs chrome-extension:// para outras extensões, portanto, isso não terá efeito. Se as janelas de bate-papo tiverem um URL chrome-extension:// , não estaremos bloqueando <esc> (ou fazendo qualquer outra coisa) nelas de qualquer maneira.

  1. não pressione a tecla Esc literal, mas digite as três letras Esc na segunda caixa

Isso nos faz passar E , s e c para a página.

Atualmente, não há suporte para a chave <esc> (ou quaisquer chaves que não sejam um único caractere) na regra "URLs e chaves excluídas". Criei o #1372 para este propósito, mas não está disponível no momento. Se/quando for, digitar <esc> (separado por espaços de qualquer outra senha) deve bloquear a chave <esc> .

Qual o melhor jeito de consertar isso?

Se você descobrir quais são os URLs da janela de bate-papo, você pode bloquear o Vimium completamente neles (assumindo que eles não sejam chrome-extension:// URLs). Não fornecemos mais nada nas opções que ajudariam no momento.

Obrigado, Mateus. Desapontamento. Portanto, não há solução aqui. Adoraria ver uma janela de bate-papo de extensão de Hangout integrada para ignorar. Saúde.

Eu também gostaria de ver uma maneira de passarpara a lista de teclas ignoradas quando quiser ignorarem determinados sites. (Ou talvez remapear universalmente para outra coisa ...)

+1 por suportar "desmapear". Capturar ESC torna o trabalho com o Google Spreadsheets muito chato: Quando você digita algo em uma célula e deseja abortar, você precisa pressionar retornar e depois desfazer porque a maneira normal, pressionando ESC, não é propagada. Da mesma forma para outros aplicativos.

Dado que esse problema é bastante antigo, talvez haja uma solução alternativa que eu não consegui encontrar?

@zieren. A próxima versão (completa) terá um comando passNextKey . Veja #1985.
Isso deve pegar seu caso de uso.
Fechamento.

Então, qual é a solução para isso?
Eu tentei adicionar map <c-]><esc> passNextKey bem como map <c-]> passNextKey , mas ainda não consigo Esc nas planilhas do google depois de editar uma célula.

Aqui está outra ideia para permitir passar muito mais chaves: https://github.com/philc/vimium/issues/3272#issuecomment -475296695 .

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