Jawaban:
Selain memulihkan keadaan sesi Emacs terakhir Anda secara otomatis , Anda juga dapat menyimpan sejumlah status sesi dan mengembalikannya sesuai permintaan di sesi lain apa pun, berapa kali. TKI, Anda dapat dengan mudah beralih di antara berbagai desktop .
Cara termudah untuk melakukannya adalah dengan memuat pustaka Bookmark + dan gunakan tombol C-x r Kuntuk menyimpan status sesi saat ini sebagai bookmark desktop. Anda kemudian dapat mengembalikan bookmark desktop apa pun di sesi apa pun menggunakan tombol C-x j K.
Inilah beberapa kode untuk melakukannya. Agar kode bisa berfungsi, Anda perlu pustaka Lisp "tapestry" diinstal. Jika Anda menggunakan mailer VM, perpustakaan Anda sudah diinstal. Kalau tidak, Anda dapat mengunduhnya dari sini .
Masukkan kode berikut dalam file .emacs Anda. Saat Anda ingin mengembalikan pengaturan jendela dan bingkai dari sesi Emacs terakhir Anda, ketikkan M-x load-my-tapestry RET.
(require 'tapestry)
(defvar my-tapestry-file "~/.tapestry")
(defun load-my-tapestry ()
(interactive)
(let ((b (find-file-noselect my-tapestry-file)))
(sit-for 0)
(set-tapestry (read b))
(kill-buffer b)))
(defun save-my-tapestry ()
(interactive)
(let ((tap (tapestry)))
(with-temp-buffer
(let ((standard-output (current-buffer)))
(setcar tap (make-list (length (car tap)) nil))
(print tap)
(write-region (point-min) (point-max) my-tapestry-file)))))
(add-hook 'kill-emacs-hook 'save-my-tapestry)
M-x load-my-tapestry RET, saya hanya mendapatkan (New file) set-tapestry: End of file during parsingbuffer mini dan tidak ada yang dimuat di jendela Emacs.
M-x save-my-tapestrysekali dan prosesnya harus bootstrap.
let: Wrong type argument: listp, configkesalahan dalam mini-buffer sekarang.
configvariabel dalam kode jawaban saya atau di tapestry.el. (setq debug-on-error t) dan dapatkan stacktrace. Itu harus menunjukkan di mana kesalahan terjadi.
set-tapestry: End of file during parsingkesalahan lagi. Saya membuka sesi Emacs, membuka dua frame, dan memuat dua file berbeda di masing-masingnya, lalu M-x save-my-tapestry, lalu tutup. Buka kembali Emacs, lalu lakukan M-x load-my-tapestry RET, itu memberi set-tapestry: End of file during parsing.