control-w (delete word) exclui toda a linha no cliente MariaDB

5

Eu tenho usado o cliente MySQL original por "eons" e estou bastante acostumado a usar atalhos semelhantes a bash nele. Um dos meus mais usados é usar control-w para apagar a palavra antes do cursor (assim como você faz no bash).

Atualmente, com meu cliente mariadb - se eu clicar em control-w , ele exclui a linha inteira antes do cursor. (que em bash, pelo menos, é geralmente control-u )

Então, por exemplo, tente em um prompt bash padrão ... ou até mesmo em um prompt de comando clássico do MySQL, se eu tiver uma linha como:

SELECT a,b,c FROM table WHERE column='value'

E eu tenho meu cursor antes de WHERE da linha parecer

WHERE column='value'

Quando eu realmente esperava que fosse:

SELECT a,b,c FROM WHERE column='value'

Estou usando o Fedora e a versão do Maria instalada é:

[doug@talos werk]$ sudo rpm -qa | grep -i maria mariadb-10.0.21-1.fc21.x86_64 mariadb-config-10.0.21-1.fc21.x86_64 mariadb-common-10.0.21-1.fc21.x86_64

Outros atalhos funcionam como previsto, control-a e control-e vão para o início e o fim de linha, respectivamente, e control-[left arrow] move uma palavra para a esquerda (ou direita com a seta para a direita)

Estou executando o cliente com:

mysql -A --host=foo.local -u user -p'mypass'

Não consigo encontrar uma referência para as opções de configuração do cliente maria, como .mariarc ou algo assim. Fico feliz em dar alguns ponteiros.

    
por dougBTV 31.12.2015 / 19:35

1 resposta

7

Eu descobri o que precisa ser feito e encontrei a resposta na Artigo do Mysql Tips no manual do mysql .

Acontece que o comportamento depende da biblioteca com a qual o MySQL foi compilado, readline ou libedit . E você pode personalizar o comportamento com um arquivo .editrc .

No meu caso, para ter control+w funcionando como eu esperava, você teria um arquivo .editrc semelhante a:

bind "^W" ed-delete-prev-word

Se você gostaria de ver quais são as combinações de teclas, basta colocar a palavra bind em .editrc (ou no final de um arquivo .editrc existente)

    
por 04.01.2016 / 15:50