Конфигурация фреймов Emacs - PullRequest
       9

Конфигурация фреймов Emacs

3 голосов
/ 19 декабря 2011

В emacs C-x r f запоминает конфигурацию фреймов в регистре.Как я могу «увидеть» это?M-x view-register не показывает это.Мне также нравится хранить различные конфигурации и повторно вызывать их по мере необходимости во время сеансов emacs.

Ответы [ 4 ]

2 голосов
/ 20 декабря 2011

C-x r j связан с jump-to-register, и вы можете найти нужный код там. Вы можете использовать M-x find-function или M-x find-function-on-key для удобного перехода к источнику.

Функция получает аргумент register и затем вызывает (get-register register) для получения данных. Следующий код затем восстанавливает конфигурацию кадра или окна по мере необходимости.

Код "c" для interactive означает символ, поэтому аргумент register является просто символом. Поэтому вы можете использовать (get-register ?a) для получения регистра a.

(defun jump-to-register (register &optional delete)
  (interactive "cJump to register: \nP")
  (let ((val (get-register register)))
    (cond
     ;; [...]
     ((and (consp val) (frame-configuration-p (car val)))
      (set-frame-configuration (car val) (not delete))
      (goto-char (cadr val)))
     ((and (consp val) (window-configuration-p (car val)))
      (set-window-configuration (car val))
      (goto-char (cadr val)))
     ;; [...]
     )))
1 голос
/ 20 декабря 2011

Библиотека winsav.el жива, но новая версия находится на Launchpad как часть nXhtml.Самый простой способ получить и настроить его - просто загрузить и установить nXhtml.(Если вы хотите, чтобы он загружался быстро, просто скомпилируйте весь nXhtml - из меню nXhtml.)

Если вы по какой-то причине считаете, что лучше просто иметь winsav.el, тогда он находится в подкаталоге util:

http://bazaar.launchpad.net/~nxhtml/nxhtml/main/files/head:/util/

(Обратите внимание, что zip-файлы для загрузки nXhtml сейчас немного устарели. На самом деле все на моих страницах Emacs сейчас немного устарело. За исключением некоторых частейnXhtml, который я обновляю время от времени. И исходники для EmacsW32 - которые не обновлены, но включают man.

0 голосов
/ 20 декабря 2011

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

Я полагаю, что есть некоторые библиотеки, которые позволяют вам постоянно сохранять конфигурацию окна или фрейма (а затем восстанавливать ее). Вы можете попробовать, например, Леннарта Боргмана winsav.el. Я знаю, что пару лет назад он работал над этой функцией - не знаю, какой сейчас статус. Если это работает, то вы также можете пометить постоянные конфигурации фреймов.

0 голосов
/ 19 декабря 2011

Цитирование документации:

Используйте C-x r j R для восстановления конфигурации окна или фрейма. Это та же команда, используемая для восстановления позиции курсора. Когда вы восстанавливаете конфигурация кадра, любые существующие кадры, не включенные в Конфигурация стала невидимой. Если вы хотите удалить эти кадры вместо этого используйте C-u C-x r j R .

(где R обозначает регистр.)

...