この記事はEmacsの初心者ユーザー向けで、この素晴らしいエディターでのウィンドウの管理について説明しています。
Linuxで作業する多くのユーザーは、他のUnix-sやWindowsでさえも、Emacsをエディターとして使用しています。
エディターは強力なだけでなく、非常に強力ですが、あらゆる強力なものと同様に、マスタリングにはある程度の努力が必要です。 ウィンドウ管理について説明します。
用語に関するいくつかの言葉。 Emacsでは、それはやや珍しいことです。 私たちが通常ウィンドウと呼ぶものは、Emacsではフレームと呼ばれます。 ウィンドウはフレームの一部です。 通常、ウィンドウはフレーム全体を占めますが、フレームをいくつかのウィンドウに分割することもできます。これは非常に便利です。
たとえば、Cx 2コマンドは現在のウィンドウを水平方向に他の2つのウィンドウに分割します。Cx3コマンドは同じことを行いますが、垂直にCx 0は現在のウィンドウを破壊します。 ウィンドウをナビゲートするにはいくつかの方法があります。 まず、目的のウィンドウをクリックするだけです。 次に、「次のウィンドウに移動」キーの組み合わせ、Cx o、コマンド/機能(他のウィンドウ)を使用します。 3番目の方法では、.emacsに行を挿入します。
(windmove-default-keybindings)
これで、Shift- <arrow>またはemacs-ovsky、<S-up>、<S-down>、<S-left>、<S-right>のキーの組み合わせを使用してウィンドウを移動できます。
スクリプトからも同じことができます。
したがって、たとえば、.emacsファイルで関数を定義します。
(defun my-make-three-windows()
「3つのウィンドウを作成する」
(インタラクティブ)
(分割ウィンドウ-水平)
(分割ウィンドウ垂直)
)
実行のために呼び出すと、次のウィンドウ構成が得られます。
| ----------- + ----------- |
| | |
| | |
| ----------- + |
| | |
| | |
| ----------- + ----------- |
個人的に、オーガナイザーでは、組織モードに基づいて、次の組み合わせを使用します
+ ---------- + --------------- + --------------- +
| | | |
| | | |
| | | |
| + --------------- + --------------- +
| | |
| | |
| | |
+ ---------- + ------------------------------- +
おもしろいですが、どれがいいですか? たとえば、たとえば、各ウィンドウで目的のファイルを開くことができます。 関数を変更します。
(defun my-make-three-windows()
「3つのウィンドウを作成する」
(インタラクティブ)
(find-file "〜/ file_1")
(分割ウィンドウ-水平)
(find-file "〜/ file_2")
(分割ウィンドウ垂直)
(find-file "〜/ file_3"))
したがって、それは良いことですが、既にスペースをウィンドウに分割している場合、この関数は現在のウィンドウを3つの部分に分割し、ウィンドウがフレーム全体を占めるようにします。 質問はありません。 最初の行を追加して、他のウィンドウを破棄します。
(defun my-make-three-windows()
「3つのウィンドウを作成する」
(インタラクティブ)
(他のウィンドウを削除)
(find-file "〜/ file_1")
(分割ウィンドウ-水平)
(find-file "〜/ file_2")
(分割ウィンドウ垂直)
(find-file "〜/ file_3"))
これで、右側のウィンドウにファイルが開いた状態で常に同じバッファーが必要になりますが、Emacsにはウィンドウ内に不要なバッファーを簡単に配置できます。 専用モードを適用します。 Ubuntuでは、彼はemacs-goodiesパッケージに入っています。 したがって、emacs-goodiesをインストールしてください。 コマンドを関数に追加します。
(defun my-make-three-windows()
「3つのウィンドウを作成する」
(インタラクティブ)
(他のウィンドウを削除)
(find-file "〜/ file_1")
(分割ウィンドウ-水平)
(find-file "〜/ file_2")
(分割ウィンドウ垂直)
(find-file "〜/ file_3")
(他のウィンドウ1)
(他のウィンドウ1)
(専用モード))
行(other-window 1)に注意し、必要なウィンドウにカーソルを移動してから、コマンドを発行しました(dedicated-mode)。 これで、右側のウィンドウは常にファイルバッファ「file_1」に関連付けられます。
これと同じコマンドをインタラクティブに与えることができ、ESC Mdキーに関連付けられています。
キー/機能ラベル:
| --------- + --------------------------- + ----------- ---------------------------- |
| キー| 機能| アクション|
| --------- + --------------------------- + ----------- ---------------------------- |
| Cx 1 | 他のウィンドウの削除| 他のウィンドウを削除し、現在のままにします|
| C-x 2 | 分割ウィンドウ-垂直方向| 垂直に分割する|
| Cx 3 | 分割ウィンドウ-水平方向| 水平分割|
| Cx 0 | 削除ウィンドウ| 現在のウィンドウを破棄します|
| ESC Md | 専用モード| オン/オフ割り当てモード|
| Cx o | 他のウィンドウ| 次のウィンドウに移動|
| --------- + --------------------------- + ----------- ---------------------------- |