LINUX.ORG.RU

Сохранить конфиг запущенного emacs'a

 ,


1

2

Ребята! Я - лох!

Запустил rm -r в хомяке. Да, я уже говорил, что я лох. Ведь всего лишь поставил «*» не там. Успел удалить все скрытые файлы включая каталог .emacs.d/ и .vim/.

Еmacs у меня открыт и в нём была пара буферов в т.ч. .emacs и ещё пара. Эти настройки я спас, также спас список пакетов - переустановить нет проблем. Но там было ещё штук 10 других .el файлов с настройками. Последняя резервная копия .emacs.d от 9 сентября. Емакс запущен. Вопрос: как сохранить ужа загруженные настойки?

Остальное всё фигня либо есть копия.

★★★

А те, которые не были в customize надо, наверное, дампить каким-то образом. Надо только подумать каким. Причем придется все переменные пакетов дампить, а так уже разбираться, кто их установил - ты в конфиге или они такими уже были.

Сейчас что-нить придумаю.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 2)
Ответ на: комментарий от Zubok

Спасибо, но похоже всё тщетно. Сделал

(let ((custom-file "~/custom.el"))
  (custom-save-all))
М-x eval-buffer

Появился буфер custom.el но пустой. И теперь даже М-х отрабатывает с ошибкой. Вместо приглашения ввести команду:

Error in post-command-hook (global-auto-complete-mode-check-buffers): (error "Cannot open doc string file \"/home/hope13/.emacs.d/elpa/flymake-0.4.13/flymake.elc\"")

hope13 ★★★
() автор топика
Последнее исправление: hope13 (всего исправлений: 1)
Ответ на: комментарий от hope13

Не, а зачем ввоодить команду? Код из треда (две строчки) в буфер набил, C-M-x нажал, выполнился.

Zubok ★★★★★
()
Последнее исправление: Zubok (всего исправлений: 1)
Ответ на: комментарий от hope13

Ну чего там у тебя? вывалились кустомизированные? Вот так вот попробуй полный дамп всех установленных переменных сделать. Потом уже разбираться надо будет, потому что это тупо все, которые есть, а их дофигища. :)

(with-temp-file "~/vars.el"
  (loop for x being the symbols
	if (boundp x)
	do (print (list x (symbol-value x)) (current-buffer))))
Zubok ★★★★★
()
Ответ на: комментарий от hope13

А функции какие-то ты определял в конфигах, а то можно и их выцепить.

Zubok ★★★★★
()

Запустил rm -r в хомяке. Ведь всего лишь поставил «*» не там.

Наверное, все так делали хоть раз

kravich ★★★★
()

Короче, я отхожу уже от компа. Если еще emacs жив, то фоункции твои ты можешь сдампить. Очень быстро писал - нет времени уже:

(with-temp-file "~/funs.el"
  (loop for x being the symbols
	if (and (fboundp x) 
		(symbol-file x)
		(string-match "ВОТ СЮДА ПОСТАВИТЬ Regexp" (symbol-file x))
		(not (subrp (symbol-function x))))
	do (insert "From " (symbol-file x) ":\n")
	(pp (list 'defun x (symbol-function x)) (current-buffer))
	(insert "\n")))

Вместо «ВОТ СЮДА ПОСТАВИТЬ Regexp» поставить регэксп пути, где у тебя были конфиги (emacs.d?)

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Извини, просто у меня уже было пол четвёртого, утро. Я оставил компьютер работающим и пошёл спать. Перед работой встал на 10 минут раньше сохранил всё что смог вспомнить. Осталось только разгрести всё это. Спасибо тебе!

hope13 ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.