2010-11-19 5 views
5

Я хотел бы использовать команду для изменения размера разделенных окон через мини-буфер. В документации GNU я нашел описание (Resizing-Windows):Команда мини-буфера Emacs с параметром

Example: enlarge-window-horizontally size &optional horizontal. 

Если я тип M-х увеличить окна-горизонтально окно будет получить изменены на один столбец. Но невозможно добавить число для размера в мини-буфере, так как при нажатии пробела emacs пытается выполнить команду.

Кто-нибудь знает, как использовать дополнительные параметры в мини-буфере? Соответственно, как изменить размер окна более чем на один столбец одновременно.

Спасибо.

+0

Это тоже смутило меня. Справка для 'C-x ^' указала, что передача необязательного аргумента non-nil в * it * (также) приведет к горизонтальному увеличению окна. Я не мог заставить это работать: 'C-u 1 C-x ^' для увеличения по горизонтали. – SabreWolfy

ответ

9

Передача параметров в интерактивную команду, подобную этой, использует universal argument.

Вы можете увеличить окно на 10 столбцов, набрав C-u 10 M-x увеличить-window-horizontally. Вы можете изменить 10 на любое целое число. Кстати, ввод C-u num для предоставления числового аргумента работает со всеми интерактивными командами emacs, которые ожидают аргумент.

примечание есть также клавиатура сокращение: C-u 10 C-x}. И для усадки окна: C-u 10 C-x {.

Вы также можете указать число, введя удерживая мета ключ М-10 С-х {

+1

универсальный аргумент FTW! если вещь после нее не принимает аргумент (или просто символ), это случается так много раз. В противном случае это отправляется как (только) аргумент в команду. ОЧЕНЬ полезная вещь, о которой нужно знать! –

+0

@Trey Jackson: Спасибо за дополнительную информацию. – unutbu

+0

Спасибо за быстрые клавиши. – SabreWolfy

6

Что вы ищете является Eval-выражение.

M-: (enlarge-window-horizontally horizontal)

M-: изменит минибуфер к Eval строке, что позволяет ввести в выражение Лиспа для оценки.

Смежные вопросы