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 K
untuk 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 parsing
buffer mini dan tidak ada yang dimuat di jendela Emacs.
M-x save-my-tapestry
sekali dan prosesnya harus bootstrap.
let: Wrong type argument: listp, config
kesalahan dalam mini-buffer sekarang.
config
variabel 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 parsing
kesalahan 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
.