Контексты для Emacs

Я экспериментировал с Buffer Ring для Emacs, и мне очень нравится идея иметь несколько колец буферы. Однако я хотел бы пойти немного дальше. Я углубляюсь в то, что некоторые могут назвать «контекстами». Обычно я работаю над тремя проектами одновременно. Часто в проектах используются разные файлы и разные языки. Иногда хорошо иметь окна cedet в моем фрейме вместе с окном отладчика, иногда они мешают. Я хотел бы иметь контекст для каждого проекта, чтобы я мог запускать команду и изменять буферное кольцо вместе с кадрами. У меня также может быть несколько разных контекстов, которые на самом деле не связаны с проектами, такими как редактирование .emacs для включения новых пакетов и привязок клавиш.

Есть ли функция Emacs, которая может делать эти «контексты»? Было бы неплохо сохранить контексты между сессиями.


person User1    schedule 18.11.2010    source источник


Ответы (1)


С помощью Bookmark+ вы можете добавить в закладки текущий "рабочий стол" (текущее состояние буферов, окон, регистров, поисковое кольцо и др.). Затем позже вы можете перейти к закладке, чтобы восстановить сохраненное состояние.

Поскольку desktop.el ничего не знает о буферном кольце, вам, вероятно, придется соответствующим образом настроить desktop-globals-to-save.

(Я сам этим не пользовался, но похоже на то, что вам нужно.)

person Gareth Rees    schedule 18.11.2010
comment
Звучит отлично. Я попытался с (setq desktop-globals-to-save (append 'buffer-ring-torus)) и получил desktop-save: Wrong type argument: sequencep, buffer-ring-torus. Так что я попробовал (setq desktop-globals-to-save (append '(buffer-ring-torus)) и получил desktop-internal-v2s: Lisp nesting exceeds max-lisp-eval-depth'`. Любые идеи о том, что я делаю неправильно? - person User1; 20.11.2010
comment
Если вы довольно начинающий пользователь Emacs, вы, вероятно, захотите использовать M-x customize-variable RET desktop-globals-to-save RET. Но если вы настаиваете на том, чтобы делать это на Лиспе, попробуйте что-нибудь вроде (require 'cl) (pushnew 'buffer-ring-torus desktop-globals-to-save) - person Gareth Rees; 20.11.2010
comment
Похоже, ваша проблема не связана с закладками или Bookmark+. Попробуйте отдельно решить проблему с рабочим столом, прежде чем добавлять закладки на рабочий стол. И да, Customize — ваш друг, даже если пользовательский интерфейс оставляет желать лучшего. - person Drew; 02.11.2011