Key binding conflict between Deft and Org-roam

What happened?

Tried to create a new daily note using org-mode dailies - but the keybinding is blocked by deft, a module that is not activated.

What did you expect to happen?

I should be able to just create a daily entry.

Steps to reproduce

  1. SPC n d
  2. The ‘d’ is being occupied by Deft
  3. Typing the ‘d’ produces an error for ‘wrong type argument’ - probably because Deft is not an activated module

System information

[dump] 19 system MacOS 12.2.1 Darwin 21.3.0 arm64 ns emacs 28.1 ~/.emacs.d/ → ~/.emacs.d/ doom 3.0.0-dev grafted, HEAD → master, origin/master, origin/HEAD 7a30582 2022-05-03 18:38:21 +0200 ~/.doom.d/ → ~/.doom.d/ shell /bin/zsh features ACL GIF[/dump]

All the org roam keybindings are under [leader]nr, did you try to bind this yourself? if so, how?

I was going by multiple online tutorials which use that same key binding. I had been assuming it was just a default. Since I only added ‘+roam2’ under ‘org’ in the config file, I was never presented with any options for configuration.

It appears that the ‘dailies’ portion is not default, and must be configured manually. Since I am unclear on where and how, exactly, to do this, I think I will just stick to plain old org-journal which is configured out of the box.

Where does it appear that org-roam-dailies is not default? If you already have +roam2 enabled, it should work out of the box by calling one of its entry points, bound under the leader previously mentioned.

In fact, it would require less configuration than org-journal, which is a separate package necessitating another package! declaration.

All I know is that when I try to create a daily journal entry in org-roam, I run into deft, which is bound to the same key (Ctrl+c n d) and which errors. I managed to find where deft was bound and commented it out. Now Ctrl+c n d just reports to be undefined. I’m left with no way to create a daily entry.

In general, don’t rely on package keybindings you find on the internet. M-x where-is will find keybindings (including for where-is itself!) in your Emacs instance.

  1. I want to know how to create a daily journal entry in org-roam. Let’s check the manual with info-display-manual org-roam.

  2. Where’s the section on dailies? Info-goto-node dailies will get us there.

  3. Let’s page through with Info-forward-node. Ah, the Usage section. Looks like you want org-roam-dailies-goto-today. If you run where-is on that, you’ll get keybindings for it.

As Gauge mentioned, the prefix is [leader]nr for global org-roam keybindings in Doom, and [leader]nrd for dailies. So the full keybinding for you is C-cnrdt. Feel free to verify with where-is. If you want something shorter, take a look at How to (re)bind keys.

@Henrik by the way, do you think Deft is still useful in the age of Org-roam? Honestly, I think it could be removed, but I guess the module breakout will take care of that. For now, the binding should be gated on the feature being enabled, right?

Liam, thank you for that post. Very helpful!

As you may have guessed, I’m pretty new to emacs and org-roam. And while my career was in IT I have to admit that emacs has been a struggle.

Where-is is quite awesome! All the web pages I found re: org-roam dailies had a completely different keybinding for dailies, even though they were not that old. Any way, I’ve started my first journal entries in org-roam so thanks!

1 Like

Glad to hear it. When you discuss Emacs commands, it’s always good practice to include the function names so your discussion is comprehensible no matter your readers’ keybindings. Don’t be like those webpages! And mention where-is if your discussion is targeted towards beginners. If you’re stuck with documentation that only lists keybindings, describe-key-briefly and describe-key briefly will tell you the command bound to a key sequence, but that will only work if you happen to share keybindings with the author.