Соотношение вертикального разделения Emacs / Slime / Hard Code

Я сейчас в режиме: C-x 2

Обычно меня не волнует вертикальное разделение. Однако я кодирую на 13-дюймовом дисплее, поэтому вертикальное пространство очень ценно.

Мне нужна некоторая настройка, при которой, когда я выполняю Cx 2, мое окно делится не на 50/50, а на 70/30 [таким образом я могу отправить ответ в нижнюю часть экрана, и я увижу довольно много кода .]

C-h вертикальный раскол

воспитывает:

разделить окно по вертикали, по столу разделить вызов по вертикали

Однако я подозреваю, что есть какой-то параметр, который изменяет / контролирует коэффициент разделения.

Какая опция emacs указывает моему компьютеру разделить 70/30, а не 50/50?

Спасибо!


person Community    schedule 20.04.2012    source источник


Ответы (1)


Вы можете использовать префиксный аргумент, чтобы сообщить Emacs, сколько строк нужно дать каждому из двух окон.

См .: Ch k Cx 2
или Ch f split-window-below RET

Если необязательный аргумент SIZE опущен или равен нулю, оба окна будут иметь одинаковую высоту или близкую к ней. Если SIZE положительный, верхнее (выбранное) окно получает строки SIZE. Если SIZE отрицательный, нижнее (новое) окно будет содержать строки -SIZE.

Таким образом, вы можете присвоить верхнему окну 20 строк, а нижнему окну остаток с помощью: Cu 20 Cx 2
(или M-2 M-0 Cx 2 и т. Д.)

И вы можете дать нижнему окну 10 строк, а верхнему окну остаток с помощью: Cu -10 Cx 2
(или M-- M-1 M-0 Cx 2 и т. Д.)

См. Как изменить размер окон 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, но вы можете указать аргумент префикса из одной цифры, чтобы указать размер верхнего окна с шагом 10%.

Итак, C-9 C-c x 2 даст верхнему окну 90% и нижнему 10%.

person phils    schedule 20.04.2012
comment
Это почти то, что я хочу. Есть ли способ установить значение по умолчанию, т.е. не нажимать C-u # каждый раз? и C-x 2 просто попал в значение по умолчанию? Спасибо! [Извините, переход на emacs с 10-летнего vim] - person ; 20.04.2012
comment
См. Редактировать. Я бы действительно не рекомендовал для этого переопределять C-x 2, но вы можете легко сделать для этой цели индивидуальную привязку. - person phils; 20.04.2012