从我的.emacs中获取:
(defun flip-window () "Flip this window" (interactive)
(switch-to-buffer (other-buffer)))
;; later
(global-set-key [(control ?])] 'flip-window)
效果很好,但是我有两个问题:
答案 0 :(得分:2)
回答问题2。 您可以在设置键绑定时尝试kbd功能。
像这样:
(global-set-key (kbd "C-]") 'flip-window)
关于问题1:我想没有内置函数。 Emacs redux教我们如何实现它:
(defun er-switch-to-previous-buffer ()
"Switch to previously open buffer. Repeated invocations toggle between the two most recently open buffers."
(interactive)
(switch-to-buffer (other-buffer (current-buffer) 1)))
这是Emacs Prelude发行版的一部分。参见https://emacsredux.com/blog/2013/04/28/switch-to-previous-buffer/
答案 1 :(得分:1)
作为旁注,您可以使用运行describe-key
功能的 C-h k 组合键来获取emacs中任何组合键的描述。您必须从描述缓冲区中读取输入内容的文本形式。如果要以编程方式检索包含组合键的字符串,则还可以运行以下Elisp代码:
(destructuring-bind ((str . code)) (help--read-key-sequence)
(help-key-description str code))
它将提示您在迷你缓冲区中输入内容,并返回一个字符串,例如"C-]"
。