Create a new link/file without opening a capture buffer

I’m buzzing along makes links in my note and I noticed that I am constantly closing the capture buffer for new notes that I don’t want to type anything in right now. Is there a separate command for doing the same thing as org-roam-insert but without opening the capture buffer?

1 Like

You could add :immediate-finish t to one of your org-roam-capture-templates to have org-capture return immediately.

2 Likes

Somewhat hacky, but what I do is have a custom function that uses a temporary version of org-roam-capture-templates with :immediate-finish t added as @zaeph says above:

(defun my/org-roam-insert-no-capture ()
  (interactive)
  (let ((org-roam-capture-templates
         (mapcar
          #'(lambda (tmpl) (append tmpl '(:immediate-finish t)))
          org-roam-capture-templates)))
    (funcall-interactively 'org-roam-insert)))
1 Like

The new version has an org-roam-insert-immediate command, in the github README page you can see it is bind it to “C-c n I”.

How do I modify which template insert-immediate uses? I can see it’s based on the default template but is there a way to modify the immediate template?

If you do C-h f org-roam-insert-immediate, you could see that it tells you the function is using org-roam-capture-immediate-template. clicking on it will show you the default template. I’ve changed mine to the following in my emacs’s config file:

(setq org-roam-capture-immediate-template
 '("d" "default" plain #'org-roam-capture--get-point
   "%?"
   :file-name "${slug}"
   :head "#+TITLE: ${title}\n  :PROPERTIES:\n  :TIME: %U\n  :END:\n\n"
   :unnarrowed t
   :immediate-finish t)
)
2 Likes