– a way to import or add a pre-existing list of keywords to the keyword list;
and
– a way to sort keywords alphabetically;
and/or
a way to search the keywords.
I have a list of over 500 keywords that I’d like to bring into Scrivener in some other way than one by one. And I’ve found that when I bring them in manually I usually don’t drag and drop a word at the end of the Scrivener keyword list, so the list isn’t sorted-- which makes it difficult when you have a large quantity of keywords to scroll through. So I’d like to request a way to sort keywords and perhaps a way to search them as well.
Hmm, I thought they sorted automatically, but you are right they do not. I’m not sure how I feel about that. The original design, and the way it works on the Mac, calls for a list that always sorts alphabetically, no choice in the matter. Sometimes I find myself wishing I could move them around, but ultimately I never really care enough and don’t mind the alphabetic order. I think maybe Windows should be the same way, so I’ll make a mention of it.
Searching for keywords: probably not a bad idea for the future. Something like a little filter search bar at the top. I’ve seen other programs that deal in keywords have a similar function.
Import: Are you any good with XML? If so, take a look at the .scrivx file in a text editor. I wouldn’t recommend messing with a real project’s .scrivx file, but if you created a new blank project and then worked on that you could make a macro that generated a sequential list of keyword entries in XML and splice that into the .scrivx file. Then what you would do is employ a neat trick whereby you can drag an item from one project to another have it retain most of its meta-data. That goes for keywords. Thus, if you have an item in your staging project with all 500 keywords applied to it ( ) and then drag that item into your master project, it would populate the master project with all of those keywords and in doing so, in a safe fashion.
But I would definitely do that on a backed up copy of the project just to be on the safe side.