Câu trả lời:
Với chuột, bạn có thể kéo các kích thước cửa sổ xung quanh.
Nhấp vào bất cứ nơi nào trên dòng chế độ không phải là 'hoạt động' (tên bộ đệm là an toàn hoặc bất kỳ khu vực không sử dụng nào ở phía bên tay phải) và bạn có thể kéo lên hoặc xuống.
Kéo hai bên đòi hỏi một cú nhấp rất chính xác vào vị trí mà hai dòng chế độ tham gia.
C-x -( shrink-window-if-larger-than-buffer
) sẽ thu nhỏ một cửa sổ để phù hợp với nội dung của nó.
C-x +( balance-windows
) sẽ làm cho các cửa sổ có cùng chiều cao và chiều rộng.
C-x ^( enlarge-window
) tăng chiều cao thêm 1 dòng hoặc giá trị arg tiền tố. Một đối số tiêu cực thu nhỏ cửa sổ. ví dụ như C-- C-1 C-6 C-x ^co lại 16 hàng, như vậy C-u - 1 6 C-x ^.
(Không có ràng buộc mặc định cho shrink-window
.)
C-x }( enlarge-window-horizontally
) cũng vậy, theo chiều ngang.
C-x {( shrink-window-horizontally
) cũng bị ràng buộc theo mặc định.
Thực hiện theo một trong các lệnh này với repeat
( C-x zđể bắt đầu và chỉ zđể tiếp tục lặp lại) sẽ giúp bạn dễ dàng đạt được kích thước chính xác mà bạn muốn.
Nếu bạn thường xuyên muốn làm điều này với một giá trị cụ thể, bạn có thể ghi lại một macro bàn phím để làm điều đó hoặc sử dụng một cái gì đó như
(global-set-key (kbd "C-c v") (kbd "C-u - 1 6 C-x ^"))
Hoặc này:
(global-set-key (kbd "C-c v") (kbd "C-x o C-x 2 C-x 0 C-u - 1 C-x o"))
Đó là một hacky smidgen, vì vậy điều này sẽ tốt hơn:
(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)
Về mặt thực tế, tôi cũng thích winner-mode
cho phép bạn liên tục 'hoàn tác' bất kỳ thay đổi nào đối với cấu hình cửa sổ với C-c left(thay đổi đó là kích thước / số / cách sắp xếp của các cửa sổ hay chỉ bộ đệm nào được hiển thị). C-c rightđưa bạn trở lại cấu hình gần đây nhất. Đặt nó trên toàn cầu với(winner-mode 1)
Tôi đặt những thứ này trong .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)
trước khi đặt nó, nhưng M-left
thay vào đó sẽ được sử dụng tốt hơn
Hãy thử sử dụng tài liệu trợ giúp của emacs.
C-h a
Sau đó nhập "phóng to" hoặc "cửa sổ"
Bạn sẽ tìm thấy những gì bạn muốn.
Thưởng thức!
C-h
không có sẵn. Sau đó thì sao?
<f1>
đó là khác trợ giúp chuẩn đồ ràng buộc.)
C-x o
đến cửa sổ có kích thước bạn muốn mở rộng. Từ đó, C-x ^
để mở rộng nó.
enlarge-window
. Một mẹo bổ sung là sử dụng tiền tố arg để kiểm soát lượng mở rộng.
Đây không phải là câu trả lời chính xác mà bạn đang tìm kiếm, nhưng tôi đã vấp phải câu hỏi này khi tìm kiếm chức năng spacemacs
, vì vậy tôi sẽ viết câu trả lời của mình chỉ vì sự hoàn chỉnh.
Tùy chọn là sử dụng <SPC> + w + .
(nó hoạt động trong spacemacs vani)
Điều này mở ra một cửa sổ thoáng qua nơi người ta có thể sử dụng []{}
để thay đổi kích thước ở mức độ chi tiết.
Không cần Cx hay Chuột ...
Tôi đã có cùng một câu hỏi. Đây là giải pháp của tôi.
Đầu tiên tôi xác định một chức năng mới:
(defun buffer-resize ()
(delete-other-windows)
(split-window-vertically (floor (* 0.68 (window-height))))
(other-window 1)
(switch-to-buffer buf)
(other-window 1))
Ví dụ, tôi muốn chạy sơ đồ trong bộ đệm, vì vậy tôi viết lại nó.
Và đây là định nghĩa, với chức năng được xác định trước đó:
(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)))
Vì vậy, bây giờ khi tôi nhập: Mx run -eme-here, bộ đệm được thay đổi kích thước!
Và đây là tập tin cấu hình của tôi, hy vọng điều này sẽ giúp. https://github.com/judevc/dotfiles/blob/master/.emacs.d/scheme-conf.el