2011-01-06 3 views
0

Wenn ich Emacs öffnen, würde ich folgendes sehen möchten:Fehler mit „other-window“ mit „Emacs-Startup-Haken“

2 Fenster, Fenster links ist das Dokument für die Bearbeitung und die richtigen Fenster laufen das Programm „Multi-Begriff“

ich versuchte, meine ~/.emacs mit bearbeiten:

(add-hook 'emacs-startup-hook 'other-window) 
(add-hook 'emacs-startup-hook 'multi-term) 
(add-hook 'emacs-startup-hook 'split-window-horizontally) 

die letzten beiden Befehle funktionieren, also ich zwei Fenster, eines in links und rechts und die links läuft man mehrfach. (Obwohl ich das Gegenteil möchte). Aber der Befehl

(add-hook 'emacs-startup-hook 'other-window) 

funktioniert nicht. Ich bekomme

wrong number of arguments: other-window, 0 

Warum? Ich denke, ich kann alles machen, wenn ich einen korrekten Funktionsnamen eintippe, wenn diese Funktion wirklich funktioniert, wenn ich sie in Emacs mit M-x Funktionsname eintippe.

Wie kann ich dieses Problem lösen?

+0

Ich habe versucht zu google "(add-hook 'Emacs-Startup-hook' other-Fenster)", aber keine Informationen hierzu. – user565739

+0

Ich fand, dass (multi-term) (andere-Fenster 1) (Split-Fenster-horizontal) in ~/.emacs kann erreichen, was ich tun möchte, d. H. Die linke ist das Dokument. Ich möchte bearbeiten und der richtige ist Multi-Term. Aber wenn ich M-x multi-term M-x anderes Fenster M-x geteiltes Fenster-horizontal schreibe, bekomme ich zwei Fenster mit dem gleichen Puffer. Gibt es einen Unterschied zwischen dem anderen Fenster 1 und dem anderen Fenster? Ich kann M-x Other-Window 1 nicht in Emacs eingeben, ich kann das nur in ~/.emacs hinzufügen. – user565739

Antwort

0

Der Befehl other-window nimmt ein Argument, das Sie nicht zur Verfügung stellen. Wenn Sie die Tasten C-x n drücken, wird das Argument automatisch für Sie ausgefüllt. Versuchen:

(add-hook 'emacs-startup-hook (lambda() (other-window 1))) 

Oder man könnte die Tasten imitieren, indem Sie:

(add-hook 'emacs-startup-hook (lambda() (call-interactively 'other-window)))