eshell не учитывает буфер отображения

Я использую display-buffer C-x 4 C-o, чтобы установить буфер для другого окна. Это прекрасно работает, если я не хочу помещать свой буфер eshell в другое окно. eshell каждый раз помещается в мое текущее окно.

Если я добавлю к команде префикс C-u, eshell переключается правильно. Есть ли способ сделать это по умолчанию?


person Cristian    schedule 11.08.2011    source источник
comment
Вы можете defadvice использовать функцию eshell. Или просто оберните вокруг него что-то, что всегда использует префикс.   -  person pmr    schedule 12.08.2011


Ответы (2)


Просто сделайте это:

(eval-after-load "eshell"
  '(eshell-remove-from-window-buffer-names))
person John Wiegley    schedule 14.08.2011

Как сказал pmr, defadvice кажется тем, что вам нужно. Просто оберните функцию и каждый раз передайте ей аргумент. Вот ссылка на документы gnu на defadvice.

http://www.gnu.org/s/emacs/manual/html_node/elisp/Simple-Advice.html#Simple-Advice

person Justin Abrahms    schedule 14.08.2011
comment
Я не уверен, как это поможет. Я не звоню eshell в тот момент, когда хочу перевести его в другое окно. Буфер eshell уже создан; Я просто хочу, чтобы это было в другом окне. - person Cristian; 15.08.2011