Como abortar o fc sem executar o comando?

13

O comando fc permitirá a edição visual do comando anterior. Se eu mudar de idéia no editor, como faço para impedir que o comando seja executado. No vim, digitando q! ou q resultam na execução do comando e CTRL-C também não funciona. É a única opção para excluir o comando no editor e depois wq?

decusador
fonte

Respostas:

16

No vi, você pode digitar :cqpara sair sem salvar e com um código de retorno diferente de zero. Nesse caso, o comando não será repetido.

Como alternativa, você geralmente pode suspender o editor com o ctrl-zqual você retorna ao shell sem refazer o comando. Você ainda precisa fgreiniciar o editor, mas o arquivo tmp não estará mais disponível, para que você possa sair com segurança do editor. Ou você pode kill -9 %este editor suspenso.

Eu concordo, poderia ser mais fácil. Obviamente, você sempre pode editar linhas no bash usando os comandos vi ou emacs.

meuh
fonte
O vi não possui um comando ": cq". Você gostaria de digitar ": q!"?
schily
@schily desculpe, por vi eu estava assumindo vim. Você pode ler sobre o vim cqno quickfix .
meuh 30/08/2015
Infelizmente, o vim não é compatível com POSIX (além de aprimoramentos, existem desvios). Para uma ajuda genérica, geralmente é uma boa idéia não depender de aprimoramentos locais ou de fornecedores exclusivos. BTW:: q! é suficiente, pois um POSIX vi sairá! = 0 neste caso.
schily
@schily Dependendo vim sendo instalado é provavelmente seguro na maioria dos casos, e neste caso, o autor da questão especificamente disse q!não funcionou para eles
Michael Mrozek
2
Isso ocorre porque não houve erro e, portanto, o código de saída é 0. No vi, ele trabalha para digitar: c (resulta em uma mensagem de comando ilegal) e depois para digitar: q! e o erro lembrado resulta em um código de saída! = 0. No entanto, isso não funciona no vim. Minha suposição anterior de que: q! sempre resulta em um código de saída! = 0 estava errado.
schily 30/08/2015
3

Talvez, uma maneira mais fácil de lembrar seja excluir o comando (o dd deve fazer) e sair ( ZZou qualquer outra maneira de sair com o salvamento). IMHO, :cqé bastante misterioso.

Andrzej Wąsowski
fonte