Dream feature: auto/quick tags, navigate by tags & Keyword feedback

The custom metadata and Keyword feature has some tiny use as is, but it’s not quite what I’m wishing for.

I’m a new user, and new to writing full sized novels.

I’d love to be able to highlight a paragraph, click into a sidebar, and add/remove custom tags, and later be able to navigate the project by such tags. It would be even better (kind of essential) for the system to automatically apply tags to single-word nouns, specified phrases, ect. And (optional) inheritance of said tag, any text that include a character name means the binder item gets it too, ect up the chain.


More info to explain what I mean by Tags.

Fundamentally, Tags are non-existent bags holding two unlimited lists:

  • a list of pointers to many [thing]s, a picture, a binder item, an arbitrary block of text (like a comment), or even a single word,
  • and a list of pointers to other Tags.

They are not exclusive in any sense, but they do not add with themselves.
A Tag is expected to be applied many times, and one [thing], even word, can have many different Tags.

But any specific thing can only have each tag once.
Looking at a chapter’s raw tags would be a mess of every name, place, ect, but each Tag would only be there once. Highlighting a subsection would quickly narrow the number of tags.


To use Scrivener’s Keywords for comparison:
Keyword ‘Characters’ can hold another child Keyword ‘john’

But this ‘john’ only exists within this ‘characters’ folder keyword. We cannot put the same ‘john’ anywhere else (it will auto-rename itself), nor can we have that ‘john’ hold other in-use Keywords, like a ‘Theme’ called ‘daddy issues’

One way to know you’ve got a real tag system is if you need one of those fields that updates the search results with each new character typed, and don’t need the mouse to select a result/match.


A key feature of a good Tag system is that you select a Tag, and see two(or three) little windows.
One that lists the real [thing]s being pointed to let you intelligently jump around,
one that shows the other tags being pointed to. If tags are one-way, you should be able to toggle a third that shows all the tags that point to the selected tag. (This lets you keep all the “benefit” of a parent-child system.)

So clicking the “john” Tag would show where John occurs, what Tags John has been labeled with, and what Tags John belongs to.


The dream would be to open a tags sidebar, highlight a name, R-Click “Tags”–> “Create tag [Character name]”, popup window: check “add to auto-scan list”, add a few preexisting tags to the new character tag (a faction/nationality, species/race, ect) click enter, and never have to manually apply that Keyword Tag to anything again, only add new/remove old tags from that character tag itself.

When a character inevitably is reworked a bit, you can use a tag navigator-like search to create a sidebar of links on the fly, but instead of only saying “it’s in there somewhere” like it does now, you would be able to jump between occurrences within each binder item.

Tags are best when they can be added to many, many [thing]s, not just project files. That’s when the idea of inheriting Tags comes in.

Example: adding tags to a paragraph style. Now style: “john speech” automatically tags itself as “john” “john dialogue” , ect.


Now, here’s the real juicy part.
If you have that base framework, you can do so, so much neat stuff with intuitive advanced searching.

For example:
domain: Novel
search: tags:[ John & Sam] , maximum distance: [2 paragraph]
View: sort: [novel order]

This would create a navigation sidebar with a link to every place where the two character names are within two paragraphs of each other. Even when never manually tagging any chapter/text with characters, only auto-scanning for name matches, you get what you’re looking for.

Trying to find where in the book those characters had that one talk?
Here’s the short list of each time the two names are within 2 paragraphs of each other.
It’s not quite as powerful as a RegEx search, but will actually be used by non-programmers.

There’s a whole lot more than can be done, such as a
search meaning— * (any tag) : (which contains tag) “empire” (tag named “empire”)

That would instantly pop a list of all things labeled empire, and instead you could search
*:(empire & character)
to further narrow the list.

As long as you have basic advanced searching, auto-flagging every noun as it’s own tag becomes genuinely useful.

You left a clue when Jon talked about the special sword, and need to change it. Don’t remember where. Jon and sword is not enough. If you can remember one other rare-ish noun said close by, that will get what you are looking for first in the results list.

tags:[ jon & sword & lake] , sort:[distance]



Building a proper tag system under the hood enables countless features to be built on top of it.

For my use, the Keyword system is honesty pretty garbage. You can only add them to binder items. Meaning individual scenes at the smallest, and merging a scene into a chapter wipes the tags (can nest it inside the chapter though).
You can’t actually drag and drop the keyword from the window onto the binder item, which the UI suggests is allowed.

Mainly it’s that document/item-level restriction that makes it kind of useless. The crummy/limited search cannot do any better than pointing to the entire file/item, and there’s no way to mix and match a search.
Single keyword only, which miiight still be okay if the child-parent system worked, but as far as I can tell, it has no functionality.

If I try to search “characters” keyword, I only match the item I added the “characters” Keyword to, not any of the children keywords, “john”, ect.

Meaning the parent keyword scheme is essentially just an empty folder for organization. Consequently, the single-keyword search is made next to worthless.

Especially considering ctrl-f is right there (it has RegEx searching <3).


Anyways, great software, wish it was even better.

Sorry for the ramble, thanks for reading.

Who says binder items have to be as large as individual scenes? You might feel that way, but Scrivener doesn’t. You can easily subdivide down to the paragraph level.

Helpful hint: declaring, as an admitted new user of Scrivener, and in your first new topic after joining the forum, that a particular feature is “pretty garbage,” is unlikely to get a positive response.

But rather than tell you that you don’t know what you’re talking about, I’m going to suggest that you have a look at the WikiLinks functionality. Put [[double braces]] around whatever you want, and it becomes both a keyword and a link. So you can link from every mention of [[John]] to John’s character sheet, wherein you can store whatever information about John that you want.


I’ve gotten used to being assigned tickets that are orders of magnitude more rude than “pretty garbage”, but that is irrelevant.

Some amount of self-censorship is universal in every context, but if that kind of casual speech is too much here, that’s rather surprising.

I took the time qualify that statement w/ a “for my use…”
That phrase is always implied before every user comment ever, and was stated for no other purpose but to blunt the following.

If a negative opinion about a single tiny feature needs even thicker kid gloves before being permitted, you may want to require the sticky to be read before posting.



Uhh, wow. Really? A small bit of criticism is a part of a big post, and you immediately get that catty and personal?

Thank you. I found what you’re talking about on pg 173 of the pdf manual.
Learning about a feature like that is exactly why people engage in places like this.

Unfortunately it does not fit for my needs.

Linking to a binder item is not what I was looking for.

I’m not sure what you mean by the double brace also adding as a keyword. It’s not mentioned there, and it’s the only place where “double left” gets a hit in the pdf.
Poking around w/ it does not seem to get any interaction with Keywords.


I did learn that the boolean and searching for keywords exists!
It’s required to ctrl-click the keywords w/in that window in order to do a multi-selection, and it does appear to function as expected.

That alone really does increase the potential use.

Unfortunately, there’s no inheritance whatsoever, so I can’t really think of a personal use. Every keyword needs to be manually added to every parent binder item. Not only does that make the time/effort equation not worth it, but would actively point me to the wrong place.



What is this kind of reply?
Yes, I feel this way. That is the function of writing the post.
Feedback is not math. I can (and most often will) be incorrect about existing features, ect, but I can’t be “wrong” with my use case.

I’m importing a novel into Scrivener while writing a second draft.

If the chunk of text cannot be moved without requiring the surrounding text to be re-written, that’s the indivisible sub unit.

Even a block of exposition cannot be moved around willy-nilly.

There would be zero benefit to making each paragraph its own binder item.
Moreover, I have explicitly mentioned how Keywords are tied to binder items, without inheritance.
Meaning, one actually looses the ability to have relevant keyword combinations the smaller the project is sliced.


I spent a good deal of my limited time writing out that OP.
As should be implicitly understood, this is due to the fact that I like the software enough to offer feedback, and yes, criticism, with only a vague hope it can have a positive effect in some way.


I appreciate your time in providing a response, I would not have learned about that keyword & keyword search otherwise.
I also expect keeping the manual open for future searches to be a big help in the future, which your comment is also responsible for.

With that thanks out of the way, wow.
Still kind of stunned that my first interaction in the forum received such a nakedly hostile response, from a moderator of all people.

1 Like

I’m sorry, I was imprecise. The string [[John]] is not recognized as a Keyword ™ by Scrivener. But it is a unique and searchable string, and can therefore behave as a de facto keyword. While also pointing to a document in the Binder, which can be placed inside whatever hierarchical structure you like.

That is the indivisible sub-unit for you. My point is that many aspects of Scrivener are designed around the idea that there does not need to be a link between “indivisible sub-unit of the draft” and “item in the Scrivener Binder.”

In my experience helping new users, many many common problems can be solved nearly instantly by simply splitting the project into smaller pieces.

Regarding keyword inheritance, it’s a little more complicated than “yes” or “no.” If you take a Binder item with existing keywords and split it in pieces, the pieces will inherit the keywords. If you merge two documents together, the result will have all the keywords of both.

You can also create a document template with assigned keywords, which all documents created from that template will have. And you can assign a template as the default for a folder, thereby assigning the keywords to all new documents created in that folder.

But no, inheritance within folders is not automatic. While making it automatic would be helpful in your use case, there are other situations in which it would be a terrible idea. For instance, suppose I’ve taken notes tagged with the names of subjects being interviewed, and I then sort them into folders based on themes. I certainly don’t want every document in the folder to inherit all of the interviewee keywords. Maybe every document in the folder could inherit the theme keywords, but maybe those are only tentative assignments, and I don’t want to have to re-assign all the keywords if I change my mind. It’s possible to bulk-assign keywords to selected documents, but I’m not sure I would want to trust the software to do that automatically.


Both of these tips are very useful, thank you. :heart:


Hence my love of a Tag system.
How many steps removed from the original tag is an intuitive, useful number to know.
Most of the time, “inheriting” a tag pulls any tag of a tag with the number of steps removed. So every time a tag is selected, the process is analogous to making that the root, and then stepping through the entire tree of connected tags (remembering to check and stop on any repeat tag to avoid inf loop).

Tags allow for a default behavior that is the most universal, while making swapping to other functionality extremely easy and intuitive.

This sort of distance tracking option is possible with a child-parent as well, but the rigid “straight line” limitation does put a hard ceiling on its uses.


I am still confused by this.
By default, every statement of opinion has a “for me, in my opinion, ect” attached.

I would like to rephrase my earlier definition to be “the indivisible sub unit happens when the user would loose more than gain from subdividing further.” In my case, it would spend time to go further than scene level, with no benefit.

I don’t see how that claim is objectionable.

It is completely dependent on the known/used features of the software, and how that interacts with the user’s task. Even something like writing and typing speed is a real factor in that equation.


But with the boolean & keyword searching, combined with your tip on manually split/merging items to preserve keywords, I think that’s speedy enough to make keywords useful at the scene level over breadcrumb comments for big things + ctrl-f for all else.
(presuming I can merge-split just to additive only inherit keywords on demand, haven’t checked yet)

It’s not “objectionable” at all.

It’s simply that new users of Scrivener often attempt to make Scrivener work like whatever they were using before. Those old habits quite often get in the way of using Scrivener effectively.

1 Like

I had no idea this existed. I’ve RTFM, too. Often. This is a really cool feature.


I just have to reply again. It’s like I found a new version of scrivener. I have links to pieces of relevant text where needed and can jump around my project in a new way. Bookmarks are great, but this is in the text which aids the flow of writing and with text replacements or macros…(runs off nerdily)