gpt4 book ai didi

Emacs Lisp 分割标识和删除的唯一窗口名称

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:54 26 4
gpt4 key购买 nike

我正在尝试唯一标识一个窗口,这样我就可以在再次按下某个键时选择并删除窗口,尽管我在执行此操作时遇到了麻烦。

(setq split-window-right-toggle-var nil)

(defun split-window-right-toggle ()
(interactive)
(if split-window-right-toggle-var
(progn
(right-split-undo)
(setq split-window-right-toggle-var nil))
(progn
(right-split-do)
(setq split-window-right-toggle-var t))))

(defun right-split-do ()
(interactive)
(split-window-right)
(other-window 1))

(defun right-split-undo ()
(interactive)
(other-window -1)
(delete-window))

此代码的问题在于它在很大程度上取决于哪个窗口处于事件状态,因此可以更改我的窗口状态并删除错误的窗口,我可以唯一地给我的窗口一个名称,然后将该窗口名称作为删除目标吗?我真的是 Emacs lisp 的新手,非常感谢任何帮助。

最佳答案

你可以尝试这样的事情:

(setq window-names (make-hash-table :test 'equal ))                                                                                                  

(defun name-window ()
(interactive)
(let ((name (read-input "Name: ")))
(setf (gethash name window-names) (selected-window))))

(defun del-window ()
(interactive)
(let ((name (read-input "Name: ")))
(delete-window (gethash name window-names))))

关于Emacs Lisp 分割标识和删除的唯一窗口名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14782946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com