Depende exatamente o que você quer fazer.
Os terminaispossuem dois modos principais que podem ser ajustados com ajustes extras:
- modo cozido / canônico. Nesse modo, o terminal vem com um editor interno de linhas, onde os caracteres
^H(ou^?),^W,^U(ou@),^V(ou\) podem ser usado para editar a linha. Nada é enviado para a leitura do aplicativo do dispositivo terminal até que o caractere^Jseja recebido. - Modo raw . Onde cada caractere estiver disponível para leitura no aplicativo lendo o dispositivo terminal assim que for digitado, ou após um atraso ou depois de tantos terem sido inseridos dependendo do tempo e min parâmetros, mas em qualquer caso, não com esse editor de linha interna.
Em ambos os casos, o caractere ^M (CR) pode ser traduzido automaticamente para ^J (LF) (ou ignorado para os terminais que enviam CR e LF ao pressionar Enter).
O primeiro modo é o modo padrão do terminal. O segundo modo é usado por aplicativos como zsh , bash ou vi que desejam assumir o controle da edição da linha.
No primeiro modo, você não pode alterar qual caractere é usado para aceitar a linha.
Mas você pode dizer ao seu terminal para enviar o caractere ^J ao pressionar essa ou aquela tecla. Por exemplo, com xterm , você pode usar o recurso translations X11 para alterar o mapeamento de chaves e dizer a ele para enviar o que quiser em uma determinada tecla pressionada. Se o seu terminal não suporta o remapeamento do teclado, você ainda pode usar o GNU screen para fazer a tradução para você. Por exemplo, se o seu terminal enviar a seqüência de caracteres ^[OP ao pressionar F1 , você poderá adicionar
bindkey 3OP "2"
para o seu ~/screenrc para dizer para enviar LF quando você pressionar F1
Para o segundo caso, é onde os aplicativos assumem o controle da entrada, você ainda pode usar a mesma abordagem acima, mas também pode configurar cada aplicativo individual para fazer isso e quando pressionar F1
Por exemplo, com zsh , o caractere LF é ligado ao widget accept-line zsh . Você poderia fazer:
bindkey "^[OA" accept-line
ter F1 ligado ao mesmo widget.
Note que Ctrl + Space geralmente envia o caractere NUL ao qual você pode se referir como ou %code% . ^@