Por que preciso pressionar espaço após um comando no Vim?

1

Eu freqüentemente corro para a situação que eu tenho que pressionar espaço para "ativar" o comando que eu digitei, por exemplo. depois que eu bati ~ para trocar o caso de uma carta.

Por que isso?

    
por lindhe 12.11.2015 / 18:46

1 resposta

5

muru e outros estão olhando para isso em termos de programabilidade e configurabilidade do próprio vim; outros respondentes de comentários estão olhando para o SSH. Mas há uma terceira resposta bem diferente.

  • Você tem um layout de teclado que suporta chaves inativas .
  • No seu layout, ~ é uma chave morta, possivelmente mapeada para o convencional U+0303 "combinando o til" (̃).
  • Seu layout emprega a convenção usual, consagrada na ISO / IEC 9995-3 e na ISO / IEC 9995-11, de que uma chave morta de combinação de caracteres, seguida de Espaço resulta em um equivalente não combinar , espaçamento, caractere.

Então pressionando ~ Espaço é como você obtém um caracter simples U+007E "til" (~) no seu emulador de terminal; e, portanto, como você realmente efetua o comando vim. O pressionamento de teclas ~ por si só não está enviando caracteres através do seu terminal, porque o emulador de terminal está esperando para ver o que é pressionado em seguida após a combinação da chave "inativa". No que diz respeito ao vim, nada realmente aconteceu ainda, nesse ponto.

Se este for o caso, você pode demonstrá-lo para si mesmo inserindo o modo de inserção e, em seguida, pressionando algo mais após o ~ . O que você pressiona naturalmente dependerá do seu layout de teclado escolhido. Comumente, ~ a irá se combinar com ã em tais layouts.

Um pouco conhecido padrão-ismo

O "grupo secundário comum" definido pela ISO / IEC 9995-3: 2010 pretende ser invariante em diferentes layouts nacionais. O caractere U+0303 "combinando til" tem um lugar padrão no grupo secundário.

Portanto: Em um layout de teclado que esteja em conformidade com a ISO / IEC 9995-3: 2010, um deve ser capaz de combinar o til com a mesma sequência de teclas, independentemente do layout do grupo principal.

  • Essas chaves são ⯖ Grupo2 D12 , expressas em standardese. é um glifo Unicode proposto para a gravação das teclas "Group 2 Select". A documentação mais atual usa , por razões que são óbvias se o seu navegador WWW estiver mostrando um keytop em branco na sentença anterior. ☺
  • Em termos das gravuras reais que alguém pode ver nos keytops, isso será algo como Shift + AltGr ] (estilo PC) Layout dos EUA) ou Shift + ⌥ Opção ] (estilo Mac). Estes são dois acordes separados, nota. O único acorde Shift + AltGr + ] é outra coisa.

O que significa, em particular, aqui: Se você mudar para um layout onde ~ não é uma chave morta, que provavelmente é o que você está prestes a fazer, como Desde que o layout do teclado suporte o "grupo secundário comum" ISO / IEC, você ainda terá acesso à chave morta, caso precise.

Seu emulador de terminal e layout de teclado provavelmente não suportam isso, já que implementações concretas são bastante raras no momento da escrita. Mas isso é o que os padrões de teclado ISO que as pessoas têm pressionado nos últimos anos.

    
por 12.11.2015 / 20:19

Tags