Há uma readline
função que provavelmente não está vinculada a um pressionamento de tecla chamado kill-whole-line
que mata a linha inteira, em vez de matar apenas a parte antes do cursor ( unix-line-discard
que é um pouco impróprio e está vinculado a Ctrl- u).
Você pode vincular isso a qualquer pressionamento de tecla disponível. Eu gosto ShiftAlt- Ujá que é uma função relacionada. Esse pressionamento de tecla pode estar vinculado, o do-lowercase-version
que significa que ele faz o que a versão não deslocada faz (neste caso upcase-word
). Como realmente não precisamos de duas chaves para fazer isso, vamos usar essa.
Você pode experimentá-lo na linha de comando, criando a ligação desta maneira:
bind '"\eU":kill-whole-line'
ou torne-o persistente, colocando esta linha no seu ~/.inputrc
arquivo:
"\eU":kill-whole-line
Para desfazer uma Ctrl- uou ShiftAlt- U(ou qualquer operação que possa ser desfeita), pressione Ctrl- Shift- _(sublinhado) ou Ctrl- x Ctrl- u(duas teclas). Ou você pode colar (puxar) o que matou pressionando Ctrl- o yque pode ser repetido se você desejar várias cópias desse texto.
A propósito, se você deseja eliminar o texto do cursor até o final da linha, pressione Ctrl- k. Portanto, em vez de fazer a ligação descrita acima, você pode eliminar uma linha inteira pressionando Ctrl- u Ctrl- k. Somente a parte eliminada pelo segundo pressionamento de tecla será salva no buffer de interrupção, mas você ainda poderá desfazer duas vezes para recuperar os dois.