Answers:
使用鼠标,您可以拖动窗口大小。
单击模式行上其他不处于“活动”状态的位置(缓冲区名称是安全的,或者在右侧没有使用的区域),然后可以向上或向下拖动。
左右拖动需要非常精确地单击两条模式线连接的位置。
C-x -(shrink-window-if-larger-than-buffer
)将缩小窗口以适合其内容。
C-x +(balance-windows
)将使窗口具有相同的高度和宽度。
C-x ^(enlarge-window
)将高度增加1行,即前缀arg值。负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
替代
这不是您要查找的确切答案,但是在寻找中的功能时,我偶然发现了这个问题spacemacs
,因此,出于完整性考虑,我将写出我的答案。
该选项是要使用的<SPC> + w + .
(它在香草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-scheme-here时,将调整缓冲区的大小!
这是我的配置文件,希望对您有所帮助。https://github.com/judevc/dotfiles/blob/master/.emacs.d/scheme-conf.el