Click + drag to move block and leave a reference

Similar to how you can Alt + Drag to create a block reference by dragging a block, perhaps it would be useful to be able to do the inverse. That is, clicking and dragging a block moves the block to the new location while leaving a reference in its place.

I’m not entirely sure if this is a use-case that I would use all of the time, but I’m curious if anyone else would find it useful?


I am so surprised this isn’t a more popular request! Came here for this. Definitely agree that this would be valuable!

I think this capability would be a game-changer towards easily generating new indexes/dashboards/tables of contents from existing content. ESPECIALLY if it’s easily performed en masse, on groups of blocks pulled up via queries or filtered searches.

Concrete use case: Say you have relevant blocks tagged all around your graph with [[great resource]] or [[future learning goal]] or something.

Sure, you can see all these blocks in the “linked references” section of the respective pages for these tags. But let’s say you are really starting to feel the need to make a more finely-tuned central reference page for yourself of “great resources” or “future learning goals.” Maybe organized by topic, or into a certain order or something.

With this proposed capability, you could pull up all relevant blocks in a query, then perform <this proposed fancy copy/move operation> to bring the lump of them together somewhere on a new page.
(Now the blocks in the new spot are the “original” or “canonical” blocks from which you will reference them henceforth, and where the originals once were, there are now just block references pointing back to the new centralized location.)

Voila – a centralized, organizable, and easily-updatable index (via the same process) for all your “great resources” or “future learning goals.”

There are lots of obvious aesthetic advantages to centralized index pages. But one value I want to highlight again ‘cause I think it’s central to the Roam philosophy of tools for thought: with this capability, you could manually sort blocks – which started out in diverse corners of your graph – INTO NEW GROUPS, towards discovering and creating further queryable patterns/categories/relationships. And that’s powerful beyond just “make an index” applications like the one I just gave. It’s at the heart of qualitative research, too.

Thanks for bringing this up, @keenanpayne! Share your hope to see something like this at some point…

1 Like

Hi @Elizabeth, thank you so much for sharing your comment!

You make a really good point about the potential use-case for functionality like this. I do the exact same thing in my graph — creating index pages that group together blocks from different areas of my Roam graph so that I can organize them into a logical order or hierarchy.

Fingers crossed we see something like this at some point :crossed_fingers:t2:

@keenanpayne I am seeing the ability to replace whole groups of block references with their originals, en masse, now!

I’m STILL figuring out if it was there all along and I was just missing it for some reason, or what – but I’m happy to share this “update” either way. :slight_smile:

The option is still menu-driven (so, no fancy select-and-drag feature like in your specific request) – but: you CAN nevertheless perform this switcheroo operation on a bunch of block refs en masse. You don’t have to go through and convert them one by one. You just have to select a list of block references, right click near a bullet, pull up the menu, click “Replace with” → “Originals” … and it will do the swap for the WHOLE GROUP with that one click.

Works great. All the workflows I mentioned in my original post are now available to me. Hooray!

1 Like

You’re right, this does exist! Thank you so much for sharing with me, I really appreciate it :grinning_face_with_smiling_eyes: