Функция создания / переключения буфера Emacs - PullRequest
1 голос
/ 18 января 2011

Я хотел бы сделать функцию, которая создает буфер с именем 'console', если он не существует и выполняет несколько команд.Если буфер уже существует, я хочу, чтобы он только переключался на него.

Ответы [ 2 ]

4 голосов
/ 18 января 2011

get-buffer-create («Вернуть буфер, указанный в BUFFER-OR-NAME, создав новый, если необходимо.») Будет обрабатывать создание буфера, если он не существует.Затем используйте switch-to-buffer («Сделать BUFFER-OR-NAME текущим и отобразить его в выбранном окне.»), Чтобы переключиться в буфер.

Так что-то вроде этого поможет:

(switch-to-buffer (get-buffer-create "console"))
2 голосов
/ 18 января 2011

Попробуйте, очевидно, заменив (insert "something\n") командами, которые вы хотите выполнить:

(defun jump-to-console ()
  "go to console buffer if it exists, otherwise create"
  (interactive)
  (let ((buffer-name "console"))
    (if (get-buffer buffer-name)
        (pop-to-buffer buffer-name)
      (pop-to-buffer (get-buffer-create buffer-name))
      (insert "something\n"))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...