Як змінити розмір вікон emacs з розділеним екраном?


13

Якщо у мене Emacs розділений горизонтально, а зверху я редагую elisp-код, а знизу я перебуваю в оболонці. За замовчуванням Emacs робить два вікна однаковими за розміром, але я б хотів, щоб буфер оболонки був меншим. Мені було цікаво, як я можу це зробити.

Оригінальне запитання, задане Стівом на SO: Як змінити розмір вікон розділених екранів emacs?


4
Ми навмисно дублюємо запитання від SO? stackoverflow.com/questions/4987760 / ...
Филс

@phils, Ні, я не був. Але я зроблю посилання на пост. Дякую за розуміння.
Лука Шимкус

Крім того, це було трохи надто просто :)
Nsukami _

1
Боже, чудова редакція @King. Тепер це запитання стало справді відмінним від того, яке ви скопіювали ...
rsenna

2
це змушує мене думати, що питання, пов'язані з emacs щодо SO, слід перенести. Це дозволить уникнути (крихітного) заворушення
Nsukami _

Відповіді:


20

C-x-( shrink-window-if-larger-than-buffer) зменшити вікно, щоб відповідати його вмісту.

C-x+( balance-windows) зробити вікна однакової висоти та ширини.

C-x^( enlarge-window) збільшити висоту на 1 рядок або значення аргументу префікса. Негативний аргумент стискає вікно. Приклад:C-u - 3 C-x ^

C-x{( shrink-window-horizontally)

C-x}( enlarge-window-horizontally)


+1 для команди скорочення. Я шукав способу скорочення єдиним рядком. Що таке C-u?
Вас

3
@Vass C-uпочинає числовий аргумент для наступної команди. Якщо ви хочете збільшити в 5 разів, замість того, щоб вводити 5 разів, ту ж команду, ви вводитеC-u 5 C-x ^
Nsukami _

1
Також варто зазначити, що C-uзначення за замовчуванням дорівнює 4, тобто це C-u C-x ^буде те саме, що і C-u 4 C-x ^.
ramnes

7

Я також рекомендую перевірити або windresizeпакет від ELPA , або windsizeпакет від MELPA .

За допомогою цього windresizeви можете зробити, M-x windresizeа потім використовувати клавіші зі стрілками для легкого переміщення меж віконця, натискаючи ENTER, коли закінчите.


3

Ви можете використовувати C-x^( enlarge-window) у верхньому вікні, щоб збільшити його (і таким чином зробити нижнє вікно менше).

За допомогою миші ви також можете перетягнути модельне верхнього вікна, щоб змінити його розмір.


відмінна ідея зробити ще одне вікно меншим, збільшивши те, що знаходиться над ним!
Вас

0

Також зауважте, що так само, як у віконній системі, ви можете використовувати мишу в режимі xterm-mouse для перетягування віконного роздільника.

Зауважте, що це, здається, іноді трохи залежить від фактичної програми xterm або xterm, і в iirc у старшому Emacsen це не було надійним минулим стовпцем, якщо ви трохи не грали зі змінною середовища TERM, але в моєму Emacs 24.2 .1 добре працює з emacs -nw -q (тобто повністю ігноруючи мої .emacs і вручну вмикаючи xterm-mouse-mode за допомогою M-x xterm-mouse-mode)

Оновлення: FYI для повноти Я зазначу, що це працює і для вертикальних дільників (тобто, коли ви розділилися з C-x 3)


0

Я коли-небудь писав простий мінорний режим (для особистого використання) в інтерактивному режимі resize-frame. Я думаю, що це повинно бути зручно.

https://gist.github.com/kuanyui/65a408d393871048771c

M-x resize-frameщоб увімкнути resize-frameдругорядний режим:

  1. Натисніть, arrow keysщоб налаштувати розмір по горизонталі / вертикалі.
  2. Натисніть будь-які інші клавіші, щоб відключити.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.