Como posso apagar a entrada no terminal?

4
  • Xubuntu 13.10

Digamos que eu cole um comando, algo como

sudo apt-get install abc yxz 123 DEF MMM KKK

no terminal. Então, de repente, tive uma mudança na mente e, portanto, gostaria de excluir os últimos 3 pacotes sem usar backspace. Existe uma maneira de marcá-los, como no uso de algo como ctrl + deslocamento + à esquerda ?

    
por henry 01.02.2014 / 18:40

5 respostas

10

Supondo que você esteja usando o "usual" bash com ligações do emacs, o uso de Ctrl w deve funcionar.

Para deletar três palavras pressione Ctrl w três vezes ou preceda com Alt 3 ou ESC 3 .

Para mais atalhos, consulte esta lista .

    
por 01.02.2014 / 18:52
9

A maioria das shells possui um recurso chamado keybindings. É claro que é configurável, e os designers do Bash optaram por usar atalhos de teclado semelhantes ao editor de texto Emacs. Aqui está uma planilha de cheats que mostra todos os vários atalhos de teclado que podem ser usados em um shell Bash para mover o cursor dentro de um determinado prompt, bem como excluir palavras inteiras, etc.

Este é, obviamente, o meu favorito porque é uma imagem, por isso é mais fácil associar quais ligações vão com quais teclas.

Fonte: Folha de dicas do Bash - SCRIBD

    
por 01.02.2014 / 21:15
2

Se você executou o próprio comando por engano, no modo de edição do emacs você pode usar a seta para cima para ir para o último comando e editá-lo para um novo comando desfazendo o erro. Mas observe que nem todos os comandos podem ser desfeitos, talvez a instalação desses pacotes tenha outros instalados como dependências ou feito outras alterações.

Dependendo dos comandos exatos (aqui instalação do pacote), pode haver logs do que foi feito em algum lugar; usando os logs, você poderá mostrar o que foi feito (e, portanto, como desfazê-lo).

Fique confortável editando a linha de comando e vasculhando o histórico que o bash mantém. É um poupador de trabalho (e ocasionalmente de vida). E adquira o hábito de ler os comandos duas vezes (pensando cuidadosamente no que você quer fazer entre eles) antes de pressionar ENTER se houver a menor possibilidade de algo destrutivo.

    
por 01.02.2014 / 19:10
1

Se você estiver usando bash , faça o seguinte

Alt-3 seguido por Ctrl + w, assumindo que você está no final do comando.

Explicação:

Alt + N é usado para passar o argumento universal para o seguinte comando a ser executado N número de vezes.

Ctrl + w apaga uma palavra para trás.

    
por 01.02.2014 / 18:52
1

Estou assumindo que você está usando o bash. O modo de edição padrão do Bash é o emacs. O Bash suporta o modo emacs e o modo vi.

No modo Bash-Emacs e Bash-vi:

C-w (Control-w) will clear last word

link

    
por 01.02.2014 / 19:01