在Emacs组织模式下,如何让组织捕获在全尺寸窗口中打开?

在Emacs组织模式下,如何让组织捕获在全尺寸窗口中打开?,emacs,org-mode,Emacs,Org Mode,在Emacs组织模式下,如何让组织捕获在全尺寸窗口中打开,而不是首先拆分窗口?您可以将(添加钩子“组织捕获模式钩子”删除其他窗口)或(添加钩子“组织捕获模式钩子”制作框架)添加到.Emacs。(要进行测试,您可以使用M-:)对其进行评估)。第一个窗口应删除其他窗口,第二个窗口将在新框架中打开窗口。但是,在选择捕获模板后,这些功能将起作用 在emacs 24中,被接受的答案似乎对我不起作用。我能找到的唯一解决方案是在您的emacs文件中使用and(谢谢): (defun make-capture

在Emacs组织模式下,如何让组织捕获在全尺寸窗口中打开,而不是首先拆分窗口?

您可以将
(添加钩子“组织捕获模式钩子”删除其他窗口)
(添加钩子“组织捕获模式钩子”制作框架)
添加到
.Emacs
。(要进行测试,您可以使用
M-:
)对其进行评估)。第一个窗口应删除其他窗口,第二个窗口将在新框架中打开窗口。但是,在选择捕获模板后,这些功能将起作用

在emacs 24中,被接受的答案似乎对我不起作用。我能找到的唯一解决方案是在您的emacs文件中使用and(谢谢):

 (defun make-capture-frame ()
     "Create a new frame and run org-capture."
     (interactive)
     (make-frame '((name . "capture")))
     (select-frame-by-name "capture")
     (delete-other-windows)
     (noflet ((switch-to-buffer-other-window (buf) (switch-to-buffer buf)))
       (org-capture)))

并将创建捕获框绑定到快捷方式。

对于我来说,我需要确保在新框中打开组织捕获,并且在完成时关闭该框。以下几点在这方面起到了很好的作用:

    ; close capture frames when finished capturing
    (add-hook 'org-capture-after-finalize-hook (lambda () (delete-frame)))

    ; make org-capture open up as sole window in a new frame
    (defadvice org-capture (around my-org-capture activate)
       (progn
          (select-frame (make-frame))
          (delete-other-windows)
          (noflet
             ((switch-to-buffer-other-window (buf) (switch-to-buffer buf)))
             ad-do-it)))

我将您的代码修改为
(添加hook'org capture mode hook'粘性窗口删除其他窗口)
,它工作得非常好。谢谢它对我有效,我使用的是Emacs 24.3.1。我指的是一个完整的窗口,而不是一个分裂的窗口。(不是
最大化帧
帧。)它不适合你?它适合我,我使用的是Emacs 24.3.1。我指的是完整的Emacs窗口,而不是将框架拆分为两个窗口。(我不是指全屏<代码>最大化帧<代码>帧。)它不适合你?有趣。它是在一个拆分窗口中打开的,上面有抓取缓冲区
org-capture
。这是我能让它在24.3.1中工作的唯一方法。在SpaceMac中不适用“切换到缓冲区其他窗口”给我“无效函数”。