Estou usando o layout de teclado finlandês que mapeia AltGr+ Spacepara o espaço sem quebra (NBSP, U + 00A0). Estou feliz com isso em geral, mas acho que escrevo acidentalmente NBSP em vez de espaço " |
" normal após o símbolo " pipe" (escrito com AltGr+ <com layout de teclado finlandês) enquanto uso a linha de comando do bash. Eu acho que isso é causado pelo fato de que eu preciso segurar AltGrenquanto digito o cano e soltá-lo antes de atingir o espaço. E quando tenho um tempo ruim para o lançamento, AltGracabo com erros de digitação invisíveis na linha de comando e mensagens de erro como
grep: command not found
que se parece bastante com
grep: command not found
o que dificulta a observação do problema na primeira vez.
Eu sei que posso desabilitar o NBSP, mas eu preferiria desabilitá-lo (tendo AltGr+ Spacepara produzir espaço regular) somente após o caractere de pipe, ou se isso não for possível, sempre na linha de comando ou readline
nível do bash . Existe alguma maneira simples de fazer isso sem modificar o código fonte do bash readline
ou o meu emulador de terminal ( gnome-terminal
)?
Outra boa solução seria configurar o NBSP para ficar de alguma forma visível na linha de comando, por exemplo, substituído por outro caractere (por exemplo, U + 2423 ␣
) apenas para renderização.
" ":␣
suficiente? O que mais você precisa?
echo a␣b
mas a linha de saída resultante estava echo a b
com NBSP real na saída. Como tal, acho que isso deve ser feito no nível da linha de leitura (ou seja, o editor de linha de comando sempre exibe caracteres visíveis, mas o emulador de terminal não pode saber a diferença entre a exibição do editor e a exibição de saída e, portanto, o emulador de terminal não pode fazer a substituição visual da renderização )