Ответы:
С помощью мыши вы можете перетаскивать размеры окон вокруг.
Щелкните в любом месте строки режима, которая в противном случае не является «активной» (имя буфера является безопасным, или любая неиспользуемая область справа), и вы можете перемещаться вверх или вниз.
Перетаскивание из стороны в сторону требует очень точного щелчка в месте соединения двух линий режима.
C-x -( shrink-window-if-larger-than-buffer
) уменьшит окно, чтобы соответствовать его содержимому.
C-x +( balance-windows
) сделает окна одинаковой высоты и ширины.
C-x ^( enlarge-window
) увеличивает высоту на 1 строку или значение префикса arg. Отрицательный аргумент сжимает окно. например, C-- C-1 C-6 C-x ^сжимается на 16 строк, как и C-u - 1 6 C-x ^.
(Нет привязки по умолчанию для shrink-window
.)
C-x }( enlarge-window-horizontally
) делает то же самое, по горизонтали.
C-x {( shrink-window-horizontally
) также связан по умолчанию.
Выполнение одной из этих команд с помощью repeat
( C-x zдля инициации и только zдля продолжения повторения) позволяет довольно легко получить нужный размер.
Если вы регулярно хотите делать это с определенным значением, вы можете записать макрос клавиатуры, чтобы сделать это, или использовать что-то вроде
(global-set-key (kbd "C-c v") (kbd "C-u - 1 6 C-x ^"))
Или это:
(global-set-key (kbd "C-c v") (kbd "C-x o C-x 2 C-x 0 C-u - 1 C-x o"))
Который является smidgen hacky, так что это было бы лучше:
(defun halve-other-window-height ()
"Expand current window to use half of the other window's lines."
(interactive)
(enlarge-window (/ (window-height (next-window)) 2)))
(global-set-key (kbd "C-c v") 'halve-other-window-height)
Тангенциально, мне также нравится то, winner-mode
что позволяет вам неоднократно «отменять» любые изменения в конфигурации окон C-c left(независимо от того, является ли изменение размером / числом / расположением окон, или просто, какой буфер отображается). C-c rightвозвращает вас к самой последней конфигурации. Установите это глобально с(winner-mode 1)
Я положил это в моем .emacs
:
(global-set-key (kbd "<C-up>") 'shrink-window)
(global-set-key (kbd "<C-down>") 'enlarge-window)
(global-set-key (kbd "<C-left>") 'shrink-window-horizontally)
(global-set-key (kbd "<C-right>") 'enlarge-window-horizontally)
(global-set-key (kbd "<C-up>") nil)
до установить его, но было бы лучше использовать M-left
вместо этого
давайте попробуем использовать справочный документ Emacs.
C-h a
Затем введите «увеличить» или «окно»
Вы найдете то, что вы хотите.
Наслаждайтесь!
C-h
он недоступен. Что тогда?
<f1>
использовать другую стандартную привязку справочной карты.)
C-x o
в окно, размер которого вы хотите расширить. Оттуда, C-x ^
чтобы расширить его.
enlarge-window
. Дополнительным советом является использование префикса arg для контроля степени расширения.
Это не точный ответ, который вы ищете, но я наткнулся на этот вопрос при поиске функциональности spacemacs
, поэтому я напишу свой ответ только для полноты картины.
Вариант использовать <SPC> + w + .
(он работает в vanilla spacemacs)
Это открывает временное окно, где можно использовать []{}
для изменения размера на уровне детализации.
Там нет необходимости для Cx или мыши ...
У меня такой же вопрос. Вот мое решение.
Сначала я определяю новую функцию:
(defun buffer-resize ()
(delete-other-windows)
(split-window-vertically (floor (* 0.68 (window-height))))
(other-window 1)
(switch-to-buffer buf)
(other-window 1))
Например, я хочу запустить схему в буфере, поэтому я переписываю ее.
И вот определение с функцией, определенной ранее:
(defun run-scheme-here ()
"Run a new scheme process at the directory of the current buffer.
If a process is already running, switch to its buffer."
(interactive)
(let* ((proc (format "scheme: %s" default-directory))
(buf (format "*%s*" proc)))
(unless (comint-check-proc buf)
(let ((cmd (split-string scheme-program-name)))
(set-buffer
(apply 'make-comint-in-buffer proc buf (car cmd) nil (cdr cmd)))
(inferior-scheme-mode)
(buffer-resize)))
(pop-to-buffer buf)))
Так что теперь, когда я ввожу: Mx run-схема-здесь, размер буфера изменяется!
И вот мой конфигурационный файл, надеясь, что это поможет. https://github.com/judevc/dotfiles/blob/master/.emacs.d/scheme-conf.el