Nenhuma dessas chaves são chaves de til. Todos eles geram uma sequência de múltiplos caracteres, como ESC [24~
para a tecla F12 , ou ESC [15~
para a tecla F5 (embora F1 – F4 sejam ligeiramente diferente), ou mesmo ESC [5~
para a tecla PgUp .
A única razão pela qual você recebe um til é porque o analisador de seqüência de chaves do Bash consome a parte comum que ele conhece ( ESC [2
) e para assim que ele sabe que a sequência completa será desconhecida. Tudo o que se segue (não necessariamente um til!) É interpretado separadamente.
Note que este comportamento pode diferir entre programas baseados em terminal: Bash (readline) tem seu próprio código para interpretar chaves especiais, o Vim possui o seu próprio, o Irssi tem o seu próprio novamente. Alguns programas podem reconhecer totalmente seu keypress como F10 (e, portanto, ignorá-lo).
Para tornar F10 uma chave de til real globalmente (todo o sistema operacional), procure por ferramentas de "remapeamento de chave" (talvez AutoHotkey).
Para fazer F10 uma tecla til em todos os programas baseados em terminal , pesquise pelas configurações do terminal. (O 'terminal' neste caso refere-se ao ConEmu.)
O terminal pode ter sua própria funcionalidade para redefinir teclas simples ou, talvez, criar "macros". A documentação do ConEmu sugere definir uma macro com a ação print(…)
.
Para tornar F10 uma tecla til no Bash (mas apenas no Bash):
-
Certifique-se de que seu emulador de terminal (ConEmu) não tenha vinculado a F10 a alguma função própria. (A F10 comum geralmente não está vinculada a nada - no entanto, Shift + F10 é a chave padrão para abrir o menu "clique com o botão direito").
-
No bash, pressione Ctrl V (inserção literal) e então F10 . Você verá uma sequência como
^[[21~
.(A inicial
^[
representa ESC, enquanto o resto é apenas um símbolo literal.)Se, neste ponto, a chave não inserir nenhuma sequência , , significa que ela foi assumida pelo próprio terminal ou por outro programa - volte ao passo 1.
-
Abra (ou crie) o arquivo
~/.inputrc
em um editor de texto. -
Adicione esta linha, tomando a sequência da etapa 2 e substituindo
^[
por\e
:"\e[21~": "~"
Isso diz ao inputrc para inserir um
~
ao receberESC [21~
. -
Reabra o shell Bash (ou pressione Ctrl X , Ctrl R para recarregar o inputrc) .