GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html ・ emacs-doc.conao3.com

22.2 ウィンドウの分割

C-x 2

選択したウィンドウを上下2つのウィンドウに分割します (split-window-below)。

C-x 3

選択したウィンドウを2つのウィンドウに分割し、左右に並べて配置します (split-window-right)。

C-mouse-2

ウィンドウのモードラインで、そのウィンドウを分割する。

C-x 2 (split-window-below) は、選択中のウィンドウを上下2つのウィンドウに分割します。分割後、選択中のウィンドウが上側に、新たに分割されたウィンドウが下側に配置されます。どちらのウィンドウも point の値は以前と同じであり、バッファの同一部分(またはそれに可能な限り近い部分)を表示します。必要に応じて、point が画面内に留まるようにウィンドウがスクロールされます。デフォルトでは、2つのウィンドウはそれぞれ元のウィンドウの高さの半分になります。正の数値引数を指定すると上側のウィンドウに割り当てる行数が、負の数値引数を指定すると下側のウィンドウに割り当てる行数が指定されます。

変数 split-window-keep-point を nil に変更すると、代わりに C-x 2 が、画面上のテキストを可能な限り元の状態に近づけるため、2つのウィンドウに表示されるバッファの範囲と、各ウィンドウにおけるポイントの値を調整します。さらに、ポイントが元のウィンドウの下半分にあった場合は、上のウィンドウではなく下のウィンドウが選択されます。

C-x 3 (split-window-right) は、選択中のウィンドウを左右に並んだ2つのウィンドウに分割します。左側のウィンドウが選択中のウィンドウとなり、右側のウィンドウには同じバッファの同じ部分が表示され、point の値も同一になります。正の数値引数は左側のウィンドウに割り当てる列数を、負の数値引数は右側のウィンドウに割り当てる列数を指定します。

C-x 3 でウィンドウを分割すると、結果として生じる各ウィンドウがフレームの全幅に満たない幅になります。幅が狭すぎると、継続行が使用されている場合にバッファの読み取りが困難になることがあります(継続行を参照)。そのため、ウィンドウ幅が50列未満になると、Emacsは自動的に行の切り捨てに切り替わります。この切り捨ては変数 truncate-lines の値に関わらず行われ(行の切り捨てを参照)、代わりに変数 truncate-partial-width-windows によって制御されます。この変数の値が正の整数(デフォルトは50)である場合、自動的な行の切り捨てが行われる前の部分幅ウィンドウの最小合計幅が指定されます。値が nil の場合は自動的な行の切り捨てが無効になり、それ以外の nil 以外の値の場合は、ウィンドウ幅に関わらず Emacs はすべての部分幅ウィンドウで行を切り捨てます。ウィンドウの合計幅は、window-total-width で報告される列単位の値であり(The Emacs Lisp Reference Manual の ウィンドウサイズを参照)、これにはフリンジ、継続および切り捨てグリフ、マージン、およびスクロールバーが含まれます。

テキスト端末では、横並びのウィンドウはvertical-borderフェイスを用いて描画される垂直方向の区切り線で区切られます。

ウィンドウのモードラインにある C-mouse-2 をクリックすると、ウィンドウが分割され、クリックした位置に垂直方向の区切り線が挿入されます。Emacs のコンパイル方法によっては、スクロールバーの C-mouse-2 をクリックしてウィンドウを分割することもでき、その場合はクリックした位置に水平方向の区切り線が挿入されます(この機能は、Emacs が GTK+ のスクロールバーを使用している場合には動作しません)。

デフォルトでは、ウィンドウを分割すると、Emacsは結果として得られた各ウィンドウに、フレームのデフォルトフォントサイズの整数倍の寸法を割り当てます。これにより、画面領域が各ウィンドウ間で不均等に分割される可能性があります。変数 window-resize-pixelwise に nil 以外の値を設定すると、Emacsは各ウィンドウに同じピクセル数を割り当てます(初期寸法が奇数ピクセルであった場合は、1ピクセルの誤差が生じます)。なお、フレームのピクセルサイズがフレームの文字サイズの倍数でない場合、このオプションが nil であっても、少なくとも1つのウィンドウがピクセル単位でリサイズされる可能性があることに注意してください。