O teclado realmente irritante estraga ao entrar no sqlplus

2

Muitas vezes, ao usar o bash, estou acostumado a usar as teclas ^ A e ^ E para ir ao início e fim de linha, e as setas para mover de personagem para personagem sem apagar. De vez em quando, eu entro em certas ferramentas onde isso estraga completamente minhas teclas de atalho e nada funciona. Meu teclado é remapeado fazendo a tecla delete a tecla backspace, ^ W agora apaga palavras e é impossível para mim corrigir qualquer coisa na linha de comando porque quase todas as teclas para editar os comandos digitados colocam lixo caracteres para o terminal. Isso geralmente acontece comigo ao entrar senhas ou SQLPlus em um terminal UNIX.

Eu nem sei se isso é bash ou algo mais, mas alguém me disse veja também este comando:

  $ stty -a
  speed 38400 baud; rows 37; columns 100; line = 0;
  intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = ^Z;
  start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0
  ;
  -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
  -ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel

  opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
  isig icanon iexten echo -echoe -echok -echonl -noflsh -tostop -echoctl -echoke

De qualquer forma, não sei o que estou vendo aqui, mas reconheço algumas os atalhos ^ W e ^ U. Como posso redefinir as coisas para tornar isso estranho configurações de terminal agem como bash regular

    
por Flethuseo 01.11.2011 / 05:45

3 respostas

0

A maior parte do que você descreve é fornecida por readline, portanto, se o utilitário que você está usando não suporta readline ou algo equivalente, você está sem sorte. O terminal interpreta apenas um conjunto muito limitado de códigos de escape, principalmente os que são usados para excluir a palavra anterior (^ W) e para excluir a linha inteira (^ U), para o resto (^ A, ^ E, ...) aplicação tem que fazer o trabalho.

    
por 01.11.2011 / 12:21
1

Acho que você quer o comando reset , no pacote ncurses .

Se você quer dizer dentro de sqlplus , então a outra resposta está correta: não há nada que você possa fazer, porque sqlplus é antigo e não suporta readline .

    
por 01.11.2011 / 08:44
0

Você pode usar o rlwrap

Infelizmente, se você estiver no site do cliente, não poderá compilá-lo. Mas você pode faça o download de uma versão binária aqui

Divirta-se!

    
por 17.05.2012 / 17:37