プレフィックス引数を使用して、2つのウィンドウのそれぞれに与える行数をEmacsに指示できます。
参照:C-hk C-x2
またはC-hf split-window-below
RET
オプションの引数SIZEが省略されているか、nilの場合、両方のウィンドウの高さが同じか、それに近くなります。SIZEが正の場合、上部(選択された)ウィンドウにSIZE行が表示されます。SIZEが負の場合、下の(新しい)ウィンドウには-SIZE行が表示されます。
したがって、上のウィンドウに20行、下のウィンドウに残りを次のように指定できます:(C-u 20
C-x2
またはM-2M-0C-x2など...)
そして、下のウィンドウに10行、上のウィンドウに残りを次のように指定できます:(C-u -10
C-x2
またはM--M-1M-0C-x2など...)
分割画面emacsウィンドウのサイズを変更する方法を参照してください。分割後にウィンドウのサイズを変更する多くの方法。
編集:
次の関数を使用して、必要なことを実行できます。
(defun my-split-window-below (&optional arg)
"Split the current window 70/30 rather than 50/50.
A single-digit prefix argument gives the top window arg*10%."
(interactive "P")
(let ((proportion (* (or arg 7) 0.1)))
(split-window-below (round (* proportion (window-height))))))
(global-set-key (kbd "C-c x 2") 'my-split-window-below)
デフォルトの比率は70/30ですが、1桁のプレフィックス引数を指定して、トップウィンドウのサイズを10%刻みで指定できます。
このコマンドをにバインドするC-x2とC-9C-x2、上部のウィンドウが90%、下部のウィンドウが10%になります。
編集2:私は自分のC-x2バインディングとしてそのバリエーションを使用することになりました。このバージョンはデフォルトで通常の50/50分割になっていますが、何か別のものが必要な場合に備えて、他の関数と同じプレフィックス引数機能を提供します。
(defun my-split-window-below (&optional arg)
"Split the current window 50/50 by default.
A single-digit prefix argument gives the top window ARG * 10%
of the available lines."
(interactive "P")
(let* ((proportion (and arg (* arg 0.1)))
(size (and proportion (round (* proportion (window-height))))))
(split-window-below size)))