2010-09-04 3 views
1

Не знаю, почему, но в настоящее время emacs открывает только одну копию w3m. Если w3m уже открыт, то переименование команды для открытия w3m приведет меня к уже открытому буферу. Я хотел бы настроить ansi-term аналогично, то есть набрав C-x C-a (команда open ansi-term), я должен перейти к уже открытому ansi-терминам, а не открывать новый буфер вообще.буфер emacs привязывается к ключу

Как я могу достичь этого в emacs?

ответ

3

Вы могли бы написать функцию обертки ansi-term, который проверяет, если уже существующий терминал буфер и перерабатывает этот буфер, если он существует:

(defun green-ansi-term() 
    "Show an existing buffer called \"*ansi-term*\" if one exists, otherwise 
call function ansi-term interactively." 
    (interactive) 
    (let ((existing-buffer (get-buffer "*ansi-term*"))) 
    (if existing-buffer 
     (switch-to-buffer existing-buffer) 
     (call-interactively 'ansi-term)))) 
+0

прекрасно работает. Спасибо. – Sandeep