2010-11-19 14 views
5

Ich möchte den Befehl verwenden, um geteilte Fenster über den Mini-Puffer zu skalieren. In der GNU-Dokumentation fand ich die Beschreibung (Resizing-Windows):Emacs Mini-Puffer-Befehl mit Parameter

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

Wenn ich M-x vergrößern-Fenster-horizontal das Fenster durch eine Spalte der Größe verändert wird erhalten eingeben. Es ist jedoch nicht möglich, eine Zahl für die Größe im Mini-Puffer hinzuzufügen, da Emacs beim Drücken der Leertaste versucht, den Befehl zu vervollständigen.

Kann jemand die optionalen Parameter im Minipuffer verwenden? Das Ändern der Größe eines Fensters um mehr als eine Spalte auf einmal.

Danke.

+0

Das verwirrte mich auch. Die Hilfe für 'C-x^'zeigte an, dass die Übergabe eines optionalen Nicht-Nil-Arguments an * it * (auch) zu einer horizontalen Vergrößerung des Fensters führen würde. Ich konnte das nicht zur Arbeit bringen: 'C-u 1 C-x ^' um horizontal zu vergrößern. – SabreWolfy

Antwort

9

Das Übergeben von Parametern an interaktive Befehle wie diese verwendet universal argument.

Sie können das Fenster um 10 Spalten vergrößern, indem Sie eingeben C-u 10 M-x vergrößern-Fenster-horizontal. Sie können 10 in eine beliebige ganze Zahl ändern. Die Eingabe von C-u num zur Angabe eines numerischen Arguments funktioniert übrigens mit allen interaktiven Emacs-Befehlen, die ein Argument erwarten.

Hinweis: Es gibt auch einen Tastaturkurzbefehl: C-u 10 C-x}. Und um das Fenster zu verkleinern: C-u 10 C-x {.

Sie können auch Nummern angeben, indem Sie die Meta-Taste M-10 C-x Halten Sie {

+1

Universal-Argument FTW! Wenn die Sache danach kein Argument braucht (oder nur ein Zeichen ist), passiert das oft. Andernfalls wird das als (einziges) Argument an den Befehl gesendet. Eine sehr nützliche Sache zu wissen! –

+0

@Trey Jackson: Danke für die zusätzlichen Informationen. – unutbu

+0

Danke für die Tastaturkürzel. – SabreWolfy

6

Was Sie suchen, ist eval-Ausdruck.

M-: (enlarge-window-horizontally horizontal)

M-: die Minipuffer zu einer eval Aufforderung ändern, die Sie in einem Lisp Ausdruck eingeben kann ausgewertet werden.