No GNU ed, existe uma maneira de cancelar a entrada atual? Por exemplo:
$ ed myfile.txt
1234
a
Wrong speling.
Bad sentance.
Neste ponto, quero cancelar a entrada. Não quero mais inserir as duas linhas que digitei. É possível? Pensei em continuar assim:
.
u
O uso de "desfazer" é o método usual para cancelar uma entrada? Existem outras maneiras?
Você não pode "cancelar" a entrada, como em "começar a anexar várias linhas de texto, mas não anexá-las".
Ao adicionar texto com, por exemplo, o
a
comando, uma única linha de texto pode ser cancelada pressionando Ctrl+Dduas vezes antes de pressionar Enter. Isso também encerra o comando de edição atual. Você não pode cancelar a adição de mais do que a linha atual dessa maneira. Dependendo do seu sistema eed
variante, pressionar Ctrl+Dduas vezes no modo de inserção pode ou não fornecer uma nova linha para digitar o próximo comando (no OpenBSD, não no Ubuntu Linux).O "truque" acima (recurso não documentado) não funciona se você usar
ed
junto comrlwrap
para obter o histórico de comandos e recursos de edição Readline.Você pode desfazer toda a operação depois de terminá-la, exatamente como mostra. Você termina a inserção de texto com
.
uma linha própria e, em seguida, emite ou
comando (desfazer). Você também pode encerrar a inserção de texto Ctrl+Dem uma nova linha e usar ou
comando.O
ed
editor tem um único nível de desfazer, o que significa que você pode desfazer apenas o comando mais recente. Desfazer duas vezes desfaz o desfazer. Se você aplicar vários comandos ao texto com um único comandog
,v
,G
ouV
comando, isso contará como um único comando que você poderá desfazer se precisar.