грешка с other-window с emacs-startup-hook

Когато отворя emacs, бих искал да видя следното:

2 прозореца, левият прозорец е за редактиране на документа, а десният прозорец изпълнява програмата "multi-term"

Опитах се да редактирам моя ~/.emacs с:

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

последните две команди работят, т.е. получавам 2 прозореца, един отляво и един отдясно, а левият работи многосрочно. (Въпреки че искам обратното). Но командата

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

не работи. взимам

wrong number of arguments: other-window, 0

Защо? Мисля, че мога да направя всичко, ако напиша правилно име на функция, ако тази функция наистина работи, ако я напиша в Emacs с M-x име на функция.

Как мога да разреша този проблем?


person user565739    schedule 06.01.2011    source източник
comment
Опитах да потърся в Google (add-hook 'emacs-startup-hook 'other-window), но няма информация за това.   -  person user565739    schedule 06.01.2011
comment
Открих, че (multi-term) (other-window 1) (split-window-horizontally) в ~/.emacs може да постигне това, което искам да направя, т.е. левият е документът. Искам да редактирам и десният е многосрочен. Но ако напиша M-x multi-term M-x other-window M-x split-window-horizontally, получавам два прозореца с един и същ буфер. Има ли разлика между other-window 1 и other-window? Не мога да напиша M-x other-window 1 в emacs, мога да добавя това само в ~/.emacs.   -  person user565739    schedule 06.01.2011


Отговори (1)


Командата other-window приема аргумент, който не предоставяте. Когато натиснете клавишите C-x n, аргументът се попълва автоматично за вас. Опитвам:

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

Или можете да имитирате натискането на клавиш, като направите:

(add-hook 'emacs-startup-hook (lambda () (call-interactively 'other-window)))
person Trey Jackson    schedule 06.01.2011