重启打开 ivy-switch-view 一片空白,没有记录。
相关配置都有开,怎么回事?
(recentf-mode 1)
(setq recentf-auto-cleanup 'never
recentf-max-saved-items 50
recentf-max-menu-items 15)
;; ivy
(setq ivy-use-virtual-buffers t)
重启打开 ivy-switch-view 一片空白,没有记录。
相关配置都有开,怎么回事?
(recentf-mode 1)
(setq recentf-auto-cleanup 'never
recentf-max-saved-items 50
recentf-max-menu-items 15)
;; ivy
(setq ivy-use-virtual-buffers t)
ivy views
好像没有持久化的,重启就没有了。去问问 aboabo 吧
可以自己用desktop存一下:desktop-globals-to-save
desktop-locals-to-save
另外可以试试eyebrowse。
我自己写了几个小函数做这个事情,然后加两个hook,关闭时自动保存,开启时加载,clear函数可以把当前的所有ivy-views都清空:
;;; ================================================================
;;; hack: save and load `ivy-views' BEGIN
;;; ================================================================
(defun peng-save-ivy-views ()
(interactive)
(with-temp-file "~/.emacs.d/ivy-views"
(prin1 ivy-views (current-buffer))
(message "save ivy-views to ~/.emacs.d/ivy-views")))
(defun peng-load-ivy-views ()
(interactive)
(setq ivy-views
(with-temp-buffer
(insert-file-contents "~/.emacs.d/ivy-views")
(read (current-buffer))))
(message "load ivy-views"))
(defun peng-clear-ivy-views ()
(interactive)
(setq ivy-views nil))
;;; add auto save
(add-hook 'kill-emacs-hook #'(lambda ()
(peng-save-ivy-views)))
(add-hook 'emacs-startup-hook #'(lambda ()
(peng-load-ivy-views)))
;;; ================================================================
;;; hack: save and load `ivy-views' End
;;; ================================================================
你提到的配置并不相干,而且也没说会记住,你需要自己保存 ivy-views
这个变量,除了上面提到的办法,还可以用自带的 savehist-mode
,设置很简单
(setq savehist-additional-variables '(ivy-views))
(savehist-mode)
原来就这么简单。。。
现在 (savehist-printable (symbol-value 'ivy-views))
会返回 nil
,导致 ivy-views
不会存下来,有知道为啥么
windows-config 没法 print? 上面的函数也不行
window-configuration
从这个 commit 加进去的, 那之后 ivy-views
应该就不能存了.
window-configuration
里面看起来有一些指针, 感觉很难序列化了.
现在有没有功能类似ivy-push-view,重启emacs可以记住的替代方案?