Emacsの操作中に C-h を誤って押してしまい、意図せずヘルプ機能に入ってしまうケースは珍しくありません。この状況で混乱が生じやすい根本的な理由は、Emacsが現在 キー入力の待機中 なのか、それともすでに ヘルプ画面が展開された後 なのかによって、復帰に必要な操作のレイヤーが異なる点にあります。現在の状態を正しく判別できれば、迷わず元の編集状態へ復帰できます。
目次
キー入力待ちの状態から中断する
C-h を押した直後、画面最下部のミニバッファに C-h- と表示されて後続のキー入力を待っている段階では、ヘルプのウィンドウ自体はまだ開かれていません。この状態はEmacsがコマンドの追加入力を受け付けている途中にすぎないため、キーシーケンスの中断コマンドを実行します。
ここで使用するのが C-g(keyboard-quit)です。C-g を入力すると進行中のコマンド受付が直ちに破棄され、ミニバッファに Quit と表示されて元のバッファの編集状態に復帰します。
ヘルプ画面が表示された後に元の配置へ戻す
C-h に続いて何らかのキーを押してしまい、ウィンドウが2分割されて *Help* バッファが展開された場合は、キー入力の中断ではなくウィンドウのレイアウトを戻す処理が必要になります。この段階では、カーソル(ポイント)がどちらのウィンドウに存在するかによって選択する操作が変わります。
- ヘルプバッファ側にカーソルがある場合:
q(quit-window)を押します。ヘルプ表示用のモードではqにウィンドウを閉じて直前の配置に戻す動作が割り当てられているため、1ストロークで元の状態に復帰します。 - 元の編集バッファ側にカーソルがある場合:
C-x 1(delete-other-windows)を押します。現在カーソルが置かれているウィンドウ以外の分割画面が一括で非表示となり、編集画面が再び単一の全画面表示に戻ります。 - 編集側からヘルプバッファを経由して閉じたい場合: ウィンドウ間を移動する
C-x o(other-window)でヘルプ側へカーソルを移してからqを入力することでも同様に復帰できます。
状態の識別と混乱を防ぐ要点
操作に迷いが生じる原因は、キーシーケンスの破棄である 入力の中断 と、画面レイアウトの復元である ウィンドウの破棄 という2つの異なる処理を混同しやすい点にあります。
画面が分割される前の入力待ちであれば C-g、画面が分割された後であれば q または C-x 1 というように、Emacsの画面状態に応じたキーを選択することが確実な復帰に繋がります。