
geditコマンドを使用してファイルを編集しようとしたときに、ctrl + cを押してもgeditが終了せず、次のログが表示されます。
gedit test.sh
^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^CTraceback most recent call last):
File "/usr/lib/gedit/plugins/snippets/document.py", line 1046, in on_draw
def on_draw(self, view, ctx):
KeyboardInterrupt
それを機能させるにはどうすればいいでしょうか?
答え1
ターミナル ウィンドウにフォーカスがあるときにキーボードの組み合わせCtrl+\を使用すると、QUIT 信号 (SIGQUIT) が送信されます。これにより、プロセス (この場合は gedit) が終了し、コアがダンプされます。
より洗練された解決策は、ターミナルからファイルを編集するための GUI テキスト エディターではなく、nano テキスト エディターなどのターミナル プログラムを使用することです。nano エディターの使用方法は、すべてのページの下部に必ず記載されています。知っておく必要がある nano キーボード ショートカットは、WriteOut と Exit の 2 つだけです。キーボードの組み合わせCtrl+を押してOから、 を押すと、Enter編集中のファイルが保存されます。キーボードの組み合わせCtrl+を押すXと、nano が終了します。nano はターミナル プログラムであるため、nano を使用しているときは常にターミナルにフォーカスがあり、nano キーボード ショートカットは常に機能します。
答え2
Ctrl-C は通常、アプリケーションがそれを処理しない場合にのみアクティブになります。どのプログラムでも、キーを処理して別の処理を実行する Ctrl-C「ハンドラー」をインストールできます。
編集した内容を保存するには、Ctrl + S (保存) と Ctrl + Q (プログラムを終了) の組み合わせを実行します。
エディターなどの繊細なプログラムでは、Ctrl + C による中止が無効になっているため、誤って編集内容が失われることはありません。