Estou tentando instalar algumas ligações de sequência de teclas, mas tenho problemas.
Meu shell é bash, meu terminal é gnome-terminal e meu sistema é o Ubuntu 14.04 no modo gráfico.
Edit: meu teclado é francês azerty com o teclado numérico e ctrl, fn, super, alt.
Editar: um guia bash, capítulo readline
Eu quero adicionar contol + alt + espaço , mas esta sequência exata não funciona enquanto outras sequências funcionam bem.
Meu objetivo é executar readline de linha de expansão de shell, mas tentei usar a palavra-maiúscula para comparar.
- Vamos analisar o efeito de instalação do meu objetivo.
Este é o meu ~/.inputrc
adicionado ( ctrl + meta + espaço ):
"\e\C- ": shell-expand-line
Este é o novo resultado de bind -p
:
"\e\C-@": shell-expand-line
É claro que eu iniciei alguns terminais, um antes da instalação e um após cada instalação para comparar completamente.
- Alguns experimentos para garantir o controle + alt funciona no lugar do controle + meta.
O sistema deve emular Meta com Alt e o bash deve emular Meta com Escape , ambos usando o byte '\ 033'. Eu tentei os dois Alt e Esc para concluir que funciona bem . Eu testei algumas sequências de ctrl + meta + letra para ter certeza.
A propósito, os exemplos individuais de Ctrl + Alt são simples: expandindo um til isolado '~' (linha de expansão do shell) ou alterando o caso aleatoriamente palavras minúsculas (palavra maiúscula) com ctrl + meta + e ou ctrl + meta + v . Ctrl + meta + e já está ligado à linha de expansão do shell, então eu apenas misturei as ligações com o inútil ctrl + meta + v .
- Algumas observações mais complicadas ...
Eu li '^ @' ilustra o caractere 'NUL'. Por que essa fuga?
Eu testei o xev e pressionei ctrl + alt + espaço : o caractere relatado é 'NUL'.
Eu vi o alt + space geralmente abrir o menu da janela do gnome-terminal, enquanto o alt ativa menus, é claro, sem a tecla control.
Um conflito parece vir do sistema, mas eu sou um novato. Acabei de ler a maior parte do manual bash (especialmente capítulo readline) e um conselho sobre o xev.
- Pergunta
Há mais a dizer ou corrigir?
Por que as seqüências são reescritas?
Como posso fazer o meu ctrl + alt + espaço funcionar com bash e gnome-terminal?
Edit: Eu descobri que '@' é transformado em 'NUL' por causa de uma máscara bit-a-bit aplicada ao escapar, mas não vejo razão alguma por que Alt + space dá 'NUL'.