コマンドを実行せずにfcを中止するにはどうすればよいですか?


13

コマンドfcを使用すると、前のコマンドを視覚的に編集できます。エディターで気が変わった場合、コマンドの実行を停止するにはどうすればよいですか。vimで、qと入力します。またはqの両方でコマンドが実行され、CTRL-Cも機能しません。エディターでコマンドを削除してからwqを削除する唯一のオプションはありますか?

回答:


16

viから入力:cqすると、保存せずにゼロ以外の戻りコードで終了できます。この場合、コマンドは繰り返されません。

または、通常はエディタを一時停止してctrl-z、コマンドを再実行せずにシェルに戻ることができます。それでもfgエディタを再起動する必要がありますが、tmpファイルは存在しなくなるため、エディタを安全に終了できます。または、kill -9 %この一時停止したエディターを使用できます。

私は同意します、それはより簡単かもしれません。もちろん、viまたはemacsコマンドを使用して、bash内の行をいつでも編集できます。


viにはコマンド ":cq"がありません。「:q!」と入力しましたか?
2015

@schily申し訳ありませんが、viはvimを想定していました。あなたはvimのについて読むことができますcqクイックフィックス
ええと、

残念ながら、vimはPOSIXに準拠していません(機能拡張の他に、偏差があります)。一般的なヘルプについては、通常、ローカルまたはベンダー固有の拡張機能に依存しないことをお勧めします。ところで::q!この場合、POSIX viは!= 0で終了するので十分です。
2015

@schilyほとんどの場合、インストールされているvimに依存することはおそらく安全であり、この場合、質問者は具体的には動作q!しなかったと言いました
Michael Mrozek

2
これは、エラーがなかったため終了コードが0であるためです。viでは、:cと入力して(不正なコマンドメッセージが表示されます)、次に:qと入力します。そして記憶されたエラーは終了コード!= 0をもたらします。ただし、これはvimでは機能しません。:q!という私の以前の仮定 常に終了コードになります!= 0は間違っていました。
2015

3

おそらく、覚えるためのより簡単な方法は、コマンドを削除して(ddが実行する必要があります)、終了することです(ZZまたは、保存で終了する他の方法で実行する必要があります)。私見、:cqかなり難解です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.