初心者のためのEmacs:ウィンドウ管理、専用モード

この記事は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 | 他のウィンドウ| 次のウィンドウに移動|
 | --------- + --------------------------- + ----------- ---------------------------- |



All Articles