Odpowiedzi:
Za pomocą myszy możesz przeciągać rozmiary okien.
Kliknij w dowolnym miejscu linii trybu, która nie jest „aktywna” w inny sposób (nazwa bufora jest bezpieczna lub dowolny nieużywany obszar po prawej stronie) i możesz przeciągać w górę lub w dół.
Przeciąganie z boku na bok wymaga bardzo precyzyjnego kliknięcia w miejscu, w którym łączą się dwie linie trybu.
C-x -( shrink-window-if-larger-than-buffer
) zmniejszy okno, aby dopasować je do jego zawartości.
C-x +( balance-windows
) sprawi, że okna będą miały taką samą wysokość i szerokość.
C-x ^( enlarge-window
) zwiększa wysokość o 1 linię lub wartość argumentu przedrostka. Ujemny argument zmniejsza okno. np. C-- C-1 C-6 C-x ^zmniejsza się o 16 rzędów, tak jak robi C-u - 1 6 C-x ^.
(Nie ma domyślnego powiązania dla shrink-window
.)
C-x }( enlarge-window-horizontally
) działa podobnie, poziomo.
C-x {( shrink-window-horizontally
) jest również domyślnie powiązany.
Wykonanie jednego z tych poleceń za pomocą repeat
( C-x zaby zainicjować i tylko w zcelu dalszego powtarzania) sprawia, że dość łatwo jest uzyskać dokładny żądany rozmiar.
Jeśli regularnie chcesz to robić z określoną wartością, możesz zarejestrować makro klawiatury, aby to zrobić, lub użyć czegoś podobnego
(global-set-key (kbd "C-c v") (kbd "C-u - 1 6 C-x ^"))
Albo to:
(global-set-key (kbd "C-c v") (kbd "C-x o C-x 2 C-x 0 C-u - 1 C-x o"))
Co jest dość hacky, więc byłoby lepiej:
(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)
Stycznie, uwielbiam również, winner-mode
który pozwala ci wielokrotnie „cofać” wszelkie zmiany w konfiguracjach okien C-c left(niezależnie od tego, czy zmiana dotyczy rozmiaru / liczby / układu okien, czy tylko tego, który bufor jest wyświetlany). C-c rightpowrót do ostatniej konfiguracji. Ustaw to globalnie za pomocą(winner-mode 1)
Umieściłem je w moim .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)
przed ich ustawieniem, ale lepiej byłoby M-left
zamiast tego
spróbujmy użyć dokumentu pomocy emacsa.
C-h a
Następnie wpisz „powiększ” lub „okno”
Znajdziesz to, czego chcesz.
Cieszyć się!
C-h
nie jest dostępne. Co wtedy?
<f1>
która jest inna norma pomocy map wiążące.)
C-x o
do okna, którego rozmiar chcesz rozszerzyć. Stamtąd, C-x ^
aby go rozwinąć.
enlarge-window
. Dodatkową wskazówką jest użycie przedrostka arg, aby kontrolować wielkość rozszerzenia.
Nie jest to dokładna odpowiedź, której szukasz, ale natknąłem się na to pytanie, szukając funkcjonalności w programie spacemacs
, więc napiszę swoją odpowiedź tylko ze względu na kompletność.
<SPC> + w + .
Opcją jest użycie (działa w waniliowych spacemacach)
Otwiera to przejściowe okno, w którym można []{}
zmienić rozmiar na poziomie szczegółowości.
Nie ma potrzeby używania Cx ani myszy ...
Mam to samo pytanie. Oto moje rozwiązanie.
Najpierw definiuję nową funkcję:
(defun buffer-resize ()
(delete-other-windows)
(split-window-vertically (floor (* 0.68 (window-height))))
(other-window 1)
(switch-to-buffer buf)
(other-window 1))
Na przykład chcę uruchomić schemat w buforze, więc przepisuję go.
A oto definicja, z funkcją zdefiniowaną wcześniej:
(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)))
Więc teraz, kiedy wpisuję: Mx run-scheme-tutaj, rozmiar bufora zostanie zmieniony!
A oto mój plik konfiguracyjny, mam nadzieję, że to pomoże. https://github.com/judevc/dotfiles/blob/master/.emacs.d/scheme-conf.el